Supplementary Report S2. Report with ASV without OTU post-clustering. Terroir and farming practices drive arbuscular mycorrhizal fungal communities in French vineyard.

Code
library(targets)
library(MiscMetabar)
library(metacoder)
library(DT)
library(knitr)
library(ggplot2)
library(patchwork)
library(vegan)
library(FactoMineR)
library(factoextra)
library(DESeq2)
library(indicspecies)
library(sf)
library(adespatial)
library(ade4)
library(adegraphics)
library(kableExtra)
library(formattable)
library(microbiomeMarker)
library(ComplexUpset)
library(tidyverse)
library(gt)

library(conflicted)
conflicts_prefer(dplyr::filter)
conflicts_prefer(dplyr::rename)
conflicts_prefer(base::setdiff)
conflicts_prefer(dplyr::lag)
Code
d_asv_blast <- tar_read(d_blast)
d_asv <- tar_read(data_phyloseq_PR2)

sam_data_updated <- read.delim("data/samples_data/sam_data_english.csv")
rownames(sam_data_updated) <- sam_data_updated[,1]
d_asv_blast <- update_sam_data(d_asv_blast, sam_data_updated, overwrite = TRUE)
d_asv <- update_sam_data(d_asv, sam_data_updated, overwrite = TRUE)
Code
d <- d_asv_blast
d <- clean_pq(d, verbose = TRUE, force_taxa_as_columns = TRUE)
Taxa are now in columns.
Cleaning suppress 0 taxa (  ) and 0 sample(s) (  ).
Code
taxa_names(d) <- paste0("OTU_", seq_along(taxa_names(d)))

Metadata modification

Spores number

Code
d@sam_data$nb_spores <- rowMeans(cbind(as.numeric(d@sam_data$spores_rep1), as.numeric(d@sam_data$spores_rep2),as.numeric(d@sam_data$spores_rep3)),na.rm=TRUE)

Practices

Code
d@sam_data$organic <- ifelse(!d@sam_data$practice %in%
                               c("Conventional", "Conversion"),
                             "Organic", "NonOrganic"
)

Paired samples (roots, spores from the same samples)

Code
d@sam_data$paired_name <-
  apply(as.matrix(d@sam_data[, c(5:16)]), 1, paste,
        collapse = "--"
  )
d@sam_data$paired_name[d@sam_data$terroir == "Vergèze"] <-
  gsub("R", "", d@sam_data$ref_mycea[d@sam_data$terroir == "Vergèze"])
Code
tib_sam_data <- as_tibble(d@sam_data) %>%
  mutate(across(starts_with("Myc_freq"), as.numeric)) %>%
  mutate(across(starts_with("Myc_intensity_colonization"), as.numeric)) %>%
  mutate(across(starts_with("Myc_intensity_root"), as.numeric)) %>%
  mutate(across(starts_with("Arbuscul_richness"), as.numeric)) %>%
  mutate(across(starts_with("Arbuscul_abundance"), as.numeric)) %>%
  mutate(across(starts_with("Vesicle_richness"), as.numeric)) %>%
  mutate(across(starts_with("Vesicle_abundance"), as.numeric)) %>%
  mutate(Myc_freq = rowMeans(select(., starts_with("Myc_freq")), na.rm = TRUE)) %>%
  mutate(Myc_intensity_colonization = rowMeans(select(
    ., starts_with("Myc_intensity_colonization")
  ), na.rm = TRUE)) %>%
  mutate(Myc_intensity_root = rowMeans(select(., starts_with(
    "Myc_intensity_root"
  )), na.rm = TRUE)) %>%
  mutate(Arbuscul_richness = rowMeans(select(., starts_with(
    "Arbuscul_richness"
  )), na.rm = TRUE)) %>%
  mutate(Arbuscul_abundance = rowMeans(select(., starts_with(
    "Arbuscul_abundance"
  )), na.rm = TRUE)) %>%
  mutate(Vesicle_richness = rowMeans(
    select(., starts_with(
      "Vesicle_richness"
    )),
    na.rm = TRUE
  )) %>%
  mutate(Vesicle_abundance = rowMeans(
    select(., starts_with(
      "Vesicle_abundance"
    )),
    na.rm = TRUE
  )) %>% tibble::column_to_rownames(var = "X")

sample_data(d) <- tib_sam_data

Exclude Mycelium

Code
d <- clean_pq(subset_samples(d, compartment != "Mycelium"))
Cleaning suppress 117 taxa and 0 samples.
Code
d_asv <- clean_pq(subset_samples(d_asv, compartment != "Mycelium"))
Cleaning suppress 1723 taxa and 0 samples.

Verify number of sequences per samples

Code
hist(log10(sample_sums(d_asv)), breaks = 40)

Number of sequences per samples (all Phyla)
Code
summary(sample_sums(d_asv))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   2856   26872   36324   40116   48250  112831 
Code
sd(sample_sums(d_asv))
[1] 19487.06

The samples with the lower nb of total sequences is 21MET828 (2856 seq.) but it contains only AMF sequences. So we keep all samples.

Code
hist(log10(sample_sums(d)), breaks = 40)

Number of sequences per samples (AMF only)
Code
summary(sample_sums(d))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    837   12329   21866   25190   32704   91395 
Code
sd(sample_sums(d))
[1] 17966.48

Summary of final dataset

Code
summary_plot_pq(d) +
  labs(title = "Summary of final dataset") +
  theme(plot.title = element_text(hjust = 0.5, size = 20, color = "#1e2b4c"))
Cleaning suppress 0 taxa and 0 samples.

Summary of bioinformatics pipeline

Global summary

Code
kable(tar_read(track_sequences_samples_clusters))
nb_sequences nb_clusters nb_samples
Paired sequences 8283717 28637 194
Paired sequences without chimera 7784063 10298 194
Paired sequences without chimera and longer than 200bp 7737954 7815 194
ASV denoising 7534699 7815 186
OTU after vsearch reclustering at 97% 7534699 1182 186
OTU after blast filter without reclustering 3821515 3916 182
OTU after blast filter with reclustering 3823905 239 182

# TAXONOMICAL ANALYSES

Code
# Fig S9
multitax_bar_pq(d_asv, "Supergroup_PR2",
                "Subdivision_PR2", "Class_PR2",
                nb_seq = TRUE
) +
  ggtitle("Number of sequences (log10) including non-Mucoromycota")

Code
multitax_bar_pq(d_asv, "Supergroup_PR2",
                "Subdivision_PR2", "Class_PR2",
                nb_seq = FALSE,
                log10trans = FALSE
) +
  ggtitle("Number of OTUs including non-Mucoromycota")

Code
# VALUE
seq_mucoromycota <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Mucoromycota")], na.rm = T)
asv_mucoromycota <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Mucoromycota")] > 0, na.rm = T)

seq_arthropoda <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Arthropoda")], na.rm = T)
asv_arthropoda <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Arthropoda")] > 0, na.rm = T)

seq_chelicerata <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Order_PR2"] ==
                                            "Chelicerata")], na.rm = T)
asv_chelicerata <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Order_PR2"] ==
                                            "Chelicerata")] > 0, na.rm = T)

seq_nematoda <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Nematoda")], na.rm = T)
asv_nematoda <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Nematoda")] > 0, na.rm = T)

seq_annelida <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Annelida")], na.rm = T)
asv_annelida <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Annelida")] > 0, na.rm = T)

seq_tardigrada <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Tardigrada")], na.rm = T)
asv_tardigrada <-
  sum(taxa_sums(d_asv@otu_table)[as.vector(d_asv@tax_table[, "Class_PR2"] ==
                                            "Tardigrada")] > 0, na.rm = T)

df <- data.frame(
  "Class" = c(
    "All Taxa",
    "Mucoromycota",
    "Arthropoda",
    "including Chelicerata Order",
    "Nematoda",
    "Annelida",
    "Tardigrada"
  ),
  "nb_seq" = c(
    sum(d_asv@otu_table),
    seq_mucoromycota,
    seq_arthropoda,
    seq_chelicerata,
    seq_nematoda,
    seq_annelida,
    seq_tardigrada
  ),
  "nb_ASV" = c(
    ntaxa(d_asv),
    asv_mucoromycota,
    asv_arthropoda,
    asv_chelicerata,
    asv_nematoda,
    asv_annelida,
    asv_tardigrada
  )
)

kable(df)
Class nb_seq nb_ASV
All Taxa 5937106 5979
Mucoromycota 3622113 3696
Arthropoda 1764623 1548
including Chelicerata Order 947550 999
Nematoda 167513 195
Annelida 45409 46
Tardigrada 133628 117
Code
d_muco <- clean_pq(subset_taxa(d, Class_PR2 == "Mucoromycota"))
Cleaning suppress 0 taxa and 0 samples.
Code
d_asv_blast <- clean_pq(subset_taxa(d_asv_blast, Class_PR2 == "Mucoromycota"))
Cleaning suppress 0 taxa and 3 samples.
Code
df <- data.frame(
  "Proportion of sequences" = c(
    round(
      sum(d_asv_blast@otu_table) / sum(d_asv@otu_table), 3
    ),
    round(
      sum(d_muco@otu_table) / sum(d_asv@otu_table), 3
    )
  ),
  "Proportion of OTU" = c(
    round(
      ntaxa(d_asv_blast) / ntaxa(d_asv), 3
    ),
    round(
      ntaxa(d_muco) / ntaxa(d_asv), 3
    )
  )
)

rownames(df) <- c(
  "Blast filter on Maarjam",
  "Add a filter on Mucoromycota family in PR2"
)
kable(df)
Proportion.of.sequences Proportion.of.OTU
Blast filter on Maarjam 0.625 0.627
Add a filter on Mucoromycota family in PR2 0.610 0.618

SUBSETING AND FILTERING DATASET

Code
for(i in c(19:46)){
  d_muco@sam_data[,i] <- as.numeric(unlist(d_muco@sam_data[,i]))
}
Code
d_roots <- clean_pq(subset_samples(d_muco, compartment == "Roots"))
Cleaning suppress 1004 taxa and 0 samples.
Code
d_spores <- clean_pq(subset_samples(d_muco, compartment == "Spores"))
Cleaning suppress 2543 taxa and 0 samples.
Code
d_rs_merged_samples <- clean_pq(merge_samples2(
  d_muco,
  "paired_name",
  default_fun = 
    function(x){MiscMetabar::diff_fct_diff_class(x, na.rm=T)}
))
Cleaning suppress 0 taxa and 0 samples.
Code
d_rs <- clean_pq(subset_samples_pq(
  d_rs_merged_samples,
  sample_sums(d_rs_merged_samples) > 2000
))
Cleaning suppress 0 taxa and 0 samples.
Code
# VALUE
(sort(sample_sums(d_rs_merged_samples)))[1]
PE13 
6768 

After merging soil and root tips paired samples, the minimum nb of sequences per samples is 6768

Code
spores_roots_samples <- sample_names(d_asv_blast)[d_asv_blast@sam_data$compartment!="Mycelium"]

tar_load(derep_fs)
tar_load(seq_tab_Pairs)
tar_load(seqtab_wo_chimera)
tar_load(seqtab)
tar_load(data_phyloseq_PR2)

# TABLE XXX_pipeline
tw <- track_wkflow(
  list(
    "Raw data" = tar_read(data_raw)$fnfs[grepl(paste(spores_roots_samples, collapse='|'), tar_read(data_raw)$fnfs)],
    "Quality-filtered data" = derep_fs[grepl(paste(spores_roots_samples, collapse='|'),names(derep_fs))],
    "Paired denoised sequences (ASV)" = seq_tab_Pairs[grepl(paste(spores_roots_samples, collapse='|'),rownames(seq_tab_Pairs)),colSums(seq_tab_Pairs[grepl(paste(spores_roots_samples, collapse='|'),rownames(seq_tab_Pairs)),])>0],
    # "ASV without chimera" = seqtab_wo_chimera[grepl(paste(spores_roots_samples, collapse='|'),rownames(seqtab_wo_chimera)),],
    "ASV without chimera and longer than 200bp" = seqtab[grepl(paste(spores_roots_samples, collapse='|'),rownames(seqtab)),colSums(seqtab[grepl(paste(spores_roots_samples, collapse='|'),rownames(seqtab)),])>0],
    "OTU after vsearch reclustering at 97%" =clean_pq(subset_samples(tar_read(data_phyloseq_PR2), compartment != "Mycelium")),
    "Maarjam Filtered" =   clean_pq(subset_samples(tar_read(d_blast), compartment != "Mycelium")),
    "PR2 Filtered" = d_muco,
    "Roots only" = d_roots,
    "Spores only" = d_spores,
    "Roots + spores merged" = d_rs_merged_samples
  )
)
Compute the number of sequences
Cleaning suppress 1836 taxa and 0 samples.
Cleaning suppress 117 taxa and 0 samples.
Start object of class: character
Start object of class: list
Start object of class: matrixStart object of class: array
Start object of class: matrixStart object of class: array
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Compute the number of clusters
Start object of class: character
Start object of class: list
Start object of class: matrixStart object of class: array
Start object of class: matrixStart object of class: array
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Compute the number of samples
Start object of class: character
Start object of class: list
Start object of class: matrixStart object of class: array
Start object of class: matrixStart object of class: array
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Start object of class: phyloseq
Code
colnames(tw) <- c("Sequences", "Clusters", "Samples")

tw <- tw %>% mutate("diff_seq"=Sequences-lag(Sequences)) %>% mutate("diff_cluster"=Clusters-lag(Clusters))

colnames(tw) <- c("Sequences", "Clusters", "Samples", "Diff sequences", "Diff cluster")
kable(tw)
Sequences Clusters Samples Diff sequences Diff cluster
Raw data 9467622 NA 148 NA NA
Quality-filtered data 9464150 3575734 148 -3472 NA
Paired denoised sequences (ASV) 6278857 18758 148 -3185293 -3556976
ASV without chimera and longer than 200bp 5937106 5979 148 -341751 -12779
OTU after vsearch reclustering at 97% 5937106 5979 148 0 0
Maarjam Filtered 3728170 3799 148 -2208936 -2180
PR2 Filtered 3622090 3695 148 -106080 -104
Roots only 2595746 2691 73 -1026344 -1004
Spores only 1026344 1152 75 -1569402 -1539
Roots + spores merged 3622090 3695 75 2595746 2543
Code
summary_plot_pq(clean_pq(subset_samples(subset_taxa(tar_read(d_blast), Class_PR2 == "Mucoromycota"), compartment != "Mycelium")))
Cleaning suppress 56 taxa and 0 samples.
Cleaning suppress 0 taxa and 0 samples.

Zoom on the filtering processes

Number of sequences

Code
# Fig S7
dir.create("output/krona")
Warning in dir.create("output/krona"): 'output/krona' existe déjà
Code
krona(
  d_asv,
  ranks = c(11:19),
  "output/krona/OTU_post_clustered_allEuk",
  name = "OTU_post_clustered_allEuk"
)
krona(
  d,
  ranks = c(11:19),
  "output/krona/OTU_filtOnMaarjam_AM",
  name = "OTU_filtOnMaarjam_AM"
)
krona(
  d_muco,
  ranks = c(11:19),
  "output/krona/OTU_filtOnMaarjamAndPr2_AM",
  name = "OTU_filtOnMaarjamAndPr2_AM"
)
merge_krona(
  c(
    "output/krona/OTU_post_clustered_allEuk",
    "output/krona/OTU_filtOnMaarjam_AM",
    "output/krona/OTU_filtOnMaarjamAndPr2_AM"
  ),
  "output/krona/Euk_to_AM_filtering_nb_seq.html"
)

Number of OTU

Code
# Fig S8
krona(
  d_asv,
  ranks = c(11:19),
  "output/krona/OTU_post_clustered_allEuk_Nbotu",
  name = "OTU_post_clustered_allEuk",
  nb_seq = F
)
krona(
  d,
  ranks = c(11:19),
  "output/krona/OTU_filtOnMaarjam_AM_Nbotu",
  name = "OTU_filtOnMaarjam_AM",
  nb_seq = F
)
krona(
  d_muco,
  ranks = c(11:19),
  "output/krona/OTU_filtOnMaarjamAndPr2_AM_Nbotu",
  name = "OTU_filtOnMaarjamAndPr2_AM",
  nb_seq = F
)
merge_krona(
  c(
    "output/krona/OTU_post_clustered_allEuk_Nbotu",
    "output/krona/OTU_filtOnMaarjam_AM_Nbotu",
    "output/krona/OTU_filtOnMaarjamAndPr2_AM_Nbotu"
  ),
  "output/krona/Euk_to_AM_filtering_Nbotu.html"
)

Taxonomy

Code
table(d_rs@tax_table[,"Family"])

     Acaulosporaceae        Ambisporaceae     Archaeosporaceae 
                  36                    8                   56 
Claroideoglomeraceae     Diversisporaceae        Gigasporaceae 
                 260                  351                   20 
         Glomeraceae        Pacisporaceae      Paraglomeraceae 
                2855                   20                   81 
Code
round(table(d_rs@tax_table[,"Family"])/ntaxa(d_rs)*100,2)

     Acaulosporaceae        Ambisporaceae     Archaeosporaceae 
                0.97                 0.22                 1.52 
Claroideoglomeraceae     Diversisporaceae        Gigasporaceae 
                7.04                 9.50                 0.54 
         Glomeraceae        Pacisporaceae      Paraglomeraceae 
               77.27                 0.54                 2.19 
Code
round(table(d_rs@tax_table[,"Order"])/ntaxa(d_rs)*100,2)

Archaeosporales Diversisporales      Glomerales  Paraglomerales 
           1.73           11.56           84.30            2.19 
Code
round(table(d_rs@tax_table[,"Genus"])/ntaxa(d_rs)*100,2)

     Acaulospora        Ambispora     Archaeospora  Claroideoglomus 
            0.97             0.22             1.52             6.74 
Claroideoglomus      Diversispora    Diversispora         Gigaspora 
            0.08             8.53             0.54             0.08 
          Glomus        Pacispora       Paraglomus    Scutellospora 
           76.89             0.54             2.19             0.46 
Code
sort(round(table(d_rs@tax_table[,"Genus_PR2"])/ntaxa(d_rs)*100,2))

        Cetraspora          Gigaspora        Mortierella      Entrophospora 
              0.05               0.08               0.08               0.14 
     Scutellospora           Otospora          Pacispora       Archaeospora 
              0.24               0.27               0.51               0.57 
         Ambispora        Acaulospora       Sclerocystis         Paraglomus 
              0.60               0.78               0.78               0.81 
       Septoglomus Glomeromycotina_XX    Claroideoglomus       Diversispora 
              0.84               1.73               2.44               6.09 
     Funneliformis        Rhizophagus             Glomus 
              7.88              12.64              58.62 
Code
sort(round(tapply(taxa_sums(d_rs), d_rs@tax_table[,"Family"], sum)/sum(d_rs@otu_table)*100,2))
       Ambisporaceae        Gigasporaceae      Acaulosporaceae 
                0.04                 0.21                 0.32 
       Pacisporaceae     Archaeosporaceae      Paraglomeraceae 
                0.51                 0.65                 2.61 
    Diversisporaceae Claroideoglomeraceae          Glomeraceae 
                3.88                10.83                80.95 
Code
sort(round(tapply(taxa_sums(d_rs), d_rs@tax_table[,"Order"], sum)/sum(d_rs@otu_table)*100,2))
Archaeosporales  Paraglomerales Diversisporales      Glomerales 
           0.69            2.61            4.93           91.77 
Code
sort(round(tapply(taxa_sums(d_rs), d_rs@tax_table[,"Genus"], sum)/sum(d_rs@otu_table)*100,2))
Claroideoglomus         Ambispora        Gigaspora    Scutellospora 
            0.01             0.04             0.05             0.16 
   Diversispora       Acaulospora        Pacispora     Archaeospora 
            0.23             0.32             0.51             0.65 
      Paraglomus     Diversispora  Claroideoglomus           Glomus 
            2.61             3.63            10.61            80.63 
Code
sort(round(tapply(taxa_sums(d_rs), d_rs@tax_table[,"Genus_PR2"], sum)/sum(d_rs@otu_table)*100,2))
      Sclerocystis           Otospora         Cetraspora        Mortierella 
              0.00               0.01               0.02               0.02 
         Gigaspora      Entrophospora      Scutellospora       Archaeospora 
              0.05               0.07               0.08               0.23 
       Septoglomus        Acaulospora          Ambispora          Pacispora 
              0.29               0.32               0.45               0.51 
Glomeromycotina_XX         Paraglomus       Diversispora    Claroideoglomus 
              0.65               1.39               3.48               3.60 
     Funneliformis        Rhizophagus             Glomus 
             12.68              18.85              56.58 

NUMBER OF SPORES ANALYSES

Code
psm_otu <- psmelt(as_binary_otu_table(d_spores)) |>
  filter(Abundance > 0) |>
  group_by(Sample) |>
  summarise(
    "Abundance" = sum(Abundance),
    "region" = region[1],
    "nb_spores" = nb_spores[1]
  )
Code
psm_res <- psmelt_samples_pq(d_spores) %>% mutate(nb_spores_log10 = log10(nb_spores))
Taxa are now in rows.
Joining with `by = join_by(Sample)`

Spores count <-> Alpha diversity

Code
# Fig S2a
ggstatsplot::ggscatterstats(psm_res, nb_spores_log10, Abundance, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res, nb_spores_log10, Hill_0, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res, nb_spores_log10, Hill_1, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res, nb_spores_log10, Hill_2, type = "non-parametric")
Registered S3 method overwritten by 'ggside':
  method from   
  +.gg   ggplot2
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

Code
# Fig S2b
psm_res_rarefied <- psmelt_samples_pq(rarefy_even_depth(d_spores, rngseed = 221013)) %>% mutate(nb_spores_log10 = log10(nb_spores))
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
490OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Abundance, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Hill_0, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Hill_1, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Hill_2, type = "non-parametric")
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

Spores count <-> Practice

Code
# Fig S5a
psm_res |> 
  mutate(is_organic = practice=="Organic") |>
  ggstatsplot::ggbetweenstats(is_organic, nb_spores_log10, type = "non-parametric") 

Code
# Fig S5b
ggstatsplot::ggbetweenstats(psm_res, practice, nb_spores_log10, type = "non-parametric") 

Spores count <-> Terroir

Code
# Fig. S4
ggstatsplot::ggbetweenstats(
  mutate(psm_res,
         terroir = reorder(psm_res$terroir, psm_res$nb_spores)
  ),
  terroir,
  nb_spores_log10,
  type = "non-parametric",
  centrality.plotting = F,
  package = "ggthemes",
  palette = "stata_economist"
) +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))

Spores count <-> Mycorrhization rate

Code
ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Myc_freq, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Myc_intensity_colonization, type = "non-parametric") +
  ggstatsplot::ggscatterstats(psm_res_rarefied, nb_spores_log10, Arbuscul_abundance, type = "non-parametric")
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

MYCORRHIZATION MEASURE

Mycorrhization rate <-> Alpha diversity

F = Myc_freq

Code
psm_res <- psmelt_samples_pq(d_rs)
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
psm_res_rarefied <- psmelt_samples_pq(rarefy_even_depth(d_rs, rngseed = 221013))
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
1269OTUs were removed because they are no longer 
present in any sample after random subsampling

...
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
# Fig S3a
(ggstatsplot::ggscatterstats(psm_res, Myc_freq, Hill_0, type = "non-parametrique") +
    ggstatsplot::ggscatterstats(psm_res, Myc_freq, Hill_1, type = "non-parametrique") +
    ggstatsplot::ggscatterstats(psm_res, Myc_freq, Hill_2, type = "non-parametrique")) /
  (ggstatsplot::ggscatterstats(psm_res_rarefied, Myc_freq, Hill_0, type = "non-parametrique") +
     ggstatsplot::ggscatterstats(psm_res_rarefied, Myc_freq, Hill_1, type = "non-parametrique") +
     ggstatsplot::ggscatterstats(psm_res_rarefied, Myc_freq, Hill_2, type = "non-parametrique"))
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

M = Myc_intensity_colonization

Code
# Fig S3b
(ggstatsplot::ggscatterstats(psm_res, Myc_intensity_colonization, Hill_0, type = "non-parametrique") +
    ggstatsplot::ggscatterstats(psm_res, Myc_intensity_colonization, Hill_1, type = "non-parametrique") +
    ggstatsplot::ggscatterstats(psm_res, Myc_intensity_colonization, Hill_2, type = "non-parametrique")) /
  (ggstatsplot::ggscatterstats(psm_res_rarefied, Myc_intensity_colonization, Hill_0, type = "non-parametrique") +
     ggstatsplot::ggscatterstats(psm_res_rarefied, Myc_intensity_colonization, Hill_1, type = "non-parametrique") +
     ggstatsplot::ggscatterstats(psm_res_rarefied, Myc_intensity_colonization, Hill_2, type = "non-parametrique"))
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

A = Arbuscul_abundance

Code
# Fig S3c
(ggstatsplot::ggscatterstats(psm_res, Arbuscul_abundance , Hill_0, type = "non-parametrique") +
    ggstatsplot::ggscatterstats(psm_res, Arbuscul_abundance, Hill_1, type = "non-parametrique") +
    ggstatsplot::ggscatterstats(psm_res, Arbuscul_abundance, Hill_2, type = "non-parametrique")) /
  (ggstatsplot::ggscatterstats(psm_res_rarefied, Arbuscul_abundance, Hill_0, type = "non-parametrique") +
     ggstatsplot::ggscatterstats(psm_res_rarefied, Arbuscul_abundance, Hill_1, type = "non-parametrique") +
     ggstatsplot::ggscatterstats(psm_res_rarefied, Arbuscul_abundance, Hill_2, type = "non-parametrique"))
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

Mycorrhization rate <-> terroir

Code
ggstatsplot::ggbetweenstats(psm_res_rarefied, terroir, Myc_freq, type = "non-parametrique", centrality.plotting = F) +
  ggstatsplot::ggbetweenstats(psm_res_rarefied, terroir, Myc_intensity_colonization, type = "non-parametrique", centrality.plotting = F) +
  ggstatsplot::ggbetweenstats(psm_res_rarefied, terroir, Arbuscul_abundance, type = "non-parametrique", centrality.plotting = F)
Number of labels is greater than default palette color count.
• Select another color `palette` (and/or `package`).
Number of labels is greater than default palette color count.
• Select another color `palette` (and/or `package`).
Number of labels is greater than default palette color count.
• Select another color `palette` (and/or `package`).

Code
kruskal.test(Myc_freq ~ terroir, psm_res_rarefied)

    Kruskal-Wallis rank sum test

data:  Myc_freq by terroir
Kruskal-Wallis chi-squared = 42.962, df = 13, p-value = 4.554e-05
Code
kruskal.test(Myc_intensity_colonization ~ terroir, psm_res_rarefied)

    Kruskal-Wallis rank sum test

data:  Myc_intensity_colonization by terroir
Kruskal-Wallis chi-squared = 21.13, df = 13, p-value = 0.07041
Code
kruskal.test(Arbuscul_abundance ~ terroir, psm_res_rarefied)

    Kruskal-Wallis rank sum test

data:  Arbuscul_abundance by terroir
Kruskal-Wallis chi-squared = 16.661, df = 13, p-value = 0.2153

Mycorrhization rate <-> practice

Code
ggstatsplot::ggbetweenstats(psm_res_rarefied, practice, Myc_freq, type = "non-parametrique", centrality.plotting = F) +
  ggstatsplot::ggbetweenstats(psm_res_rarefied, practice, Myc_intensity_colonization, type = "non-parametrique", centrality.plotting = F) +
  ggstatsplot::ggbetweenstats(psm_res_rarefied, practice, Arbuscul_abundance, type = "non-parametrique", centrality.plotting = F)

Code
kruskal.test(Myc_freq ~ practice, psm_res)

    Kruskal-Wallis rank sum test

data:  Myc_freq by practice
Kruskal-Wallis chi-squared = 6.152, df = 2, p-value = 0.04614
Code
kruskal.test(Myc_intensity_colonization ~ practice, psm_res)

    Kruskal-Wallis rank sum test

data:  Myc_intensity_colonization by practice
Kruskal-Wallis chi-squared = 19.667, df = 2, p-value = 5.361e-05
Code
kruskal.test(Arbuscul_abundance ~ practice, psm_res)

    Kruskal-Wallis rank sum test

data:  Arbuscul_abundance by practice
Kruskal-Wallis chi-squared = 17.449, df = 2, p-value = 0.0001626
Code
terroir_practice <- interaction(psm_res_rarefied$terroir, psm_res_rarefied$practice)
kruskal.test(Myc_freq ~ terroir_practice, psm_res_rarefied)

    Kruskal-Wallis rank sum test

data:  Myc_freq by terroir_practice
Kruskal-Wallis chi-squared = 51.416, df = 37, p-value = 0.0579
Code
kruskal.test(Myc_intensity_colonization ~ terroir_practice, psm_res_rarefied)

    Kruskal-Wallis rank sum test

data:  Myc_intensity_colonization by terroir_practice
Kruskal-Wallis chi-squared = 46.61, df = 37, p-value = 0.1337
Code
kruskal.test(Arbuscul_abundance ~ terroir_practice, psm_res_rarefied)

    Kruskal-Wallis rank sum test

data:  Arbuscul_abundance by terroir_practice
Kruskal-Wallis chi-squared = 42.772, df = 37, p-value = 0.2371

ECOLOGICAL ANALYSES : ALPHA DIVERSITY

Compartment

Code
psm_res <- psmelt_samples_pq(d_muco)
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
psm_res_rarefied <- psmelt_samples_pq(rarefy_even_depth(d_muco, rngseed = 221013))
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
1969OTUs were removed because they are no longer 
present in any sample after random subsampling

...
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
ggstatsplot::ggbetweenstats(psm_res_rarefied,
                            compartment,
                            Hill_0,
                            type = "non-parametrique"
) +
  ggstatsplot::ggbetweenstats(psm_res_rarefied,
                              compartment,
                              Hill_1,
                              type = "non-parametrique"
  ) +
  ggstatsplot::ggbetweenstats(psm_res_rarefied,
                              compartment,
                              Hill_2,
                              type = "non-parametrique"
  )

Code
ggplot(psm_res_rarefied, aes(y=Hill_0, x=compartment, color=practice))+
  geom_point() + 
  geom_line(aes(group = paired_name)) +
  facet_wrap(~terroir)

Terroir

Code
psm_res <- psmelt_samples_pq(d_rs)
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
psm_res_rarefied <- psmelt_samples_pq(rarefy_even_depth(d_rs, rngseed = 221013))
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
1269OTUs were removed because they are no longer 
present in any sample after random subsampling

...
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Code
# Figure S11b
(ggstatsplot::ggbetweenstats(
  mutate(
    psm_res_rarefied,
    terroir = reorder(psm_res_rarefied$terroir, psm_res_rarefied$Hill_2)
  ),
  terroir,
  Hill_0,
  type = "non-parametrique",
  centrality.plotting = F,
  package = "ggsci",
  palette = "springfield_simpsons",
  point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha =
                      0.8, size = 3, stroke = 0, na.rm = TRUE),
  violin.args = list(width=0),
  boxplot.args = list(alpha=0, width= 0.5)
)+ coord_flip()) /
  (ggstatsplot::ggbetweenstats(
    mutate(
      psm_res_rarefied,
      terroir = reorder(psm_res_rarefied$terroir, psm_res_rarefied$Hill_2)
    ),
    terroir,
    Hill_1,
    type = "non-parametrique",
    centrality.plotting = F,
    package = "ggsci",
    palette = "springfield_simpsons",
    point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha =
                        0.8, size = 3, stroke = 0, na.rm = TRUE),
    violin.args = list(width=0),
    boxplot.args = list(alpha=0, width= 0.5)
  )+ coord_flip()) /
  (ggstatsplot::ggbetweenstats(
    mutate(
      psm_res_rarefied,
      terroir = reorder(psm_res_rarefied$terroir, psm_res_rarefied$Hill_2)
    ),
    terroir,
    Hill_2,
    type = "non-parametrique",
    centrality.plotting = F,
    package = "ggsci",
    palette = "springfield_simpsons",
    point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha =
                        0.8, size = 3, stroke = 0, na.rm = TRUE),
    violin.args = list(width=0),
    boxplot.args = list(alpha=0, width= 0.5)
  ) + coord_flip()) + plot_layout(axes = "collect")

Code
# Figure S11a
(ggstatsplot::ggbetweenstats(
  mutate(
    psm_res,
    terroir = reorder(psm_res$terroir, psm_res$Hill_2)
  ),
  terroir,
  Hill_0,
  type = "non-parametrique",
  centrality.plotting = F,
  package = "ggsci",
  palette = "springfield_simpsons",
  point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha =
                      0.8, size = 3, stroke = 0, na.rm = TRUE),
  violin.args = list(width=0),
  boxplot.args = list(alpha=0, width= 0.5)
)+ coord_flip()) /
  (ggstatsplot::ggbetweenstats(
    mutate(
      psm_res,
      terroir = reorder(psm_res$terroir, psm_res$Hill_2)
    ),
    terroir,
    Hill_1,
    type = "non-parametrique",
    centrality.plotting = F,
    package = "ggsci",
    palette = "springfield_simpsons",
    point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha =
                        0.8, size = 3, stroke = 0, na.rm = TRUE),
    violin.args = list(width=0),
    boxplot.args = list(alpha=0, width= 0.5)
  )+ coord_flip()) /
  (ggstatsplot::ggbetweenstats(
    mutate(
      psm_res,
      terroir = reorder(psm_res$terroir, psm_res$Hill_2)
    ),
    terroir,
    Hill_2,
    type = "non-parametrique",
    centrality.plotting = F,
    package = "ggsci",
    palette = "springfield_simpsons",
    point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha =
                        0.8, size = 3, stroke = 0, na.rm = TRUE),
    violin.args = list(width=0),
    boxplot.args = list(alpha=0, width= 0.5)
  ) + coord_flip()) + plot_layout(axes = "collect")

Code
sort(tapply(psm_res_rarefied$Hill_0, psm_res_rarefied$terroir, median))
   Côte des Blancs            Vergèze               Tain Vallee de la Marne 
              25.0               53.0               68.0               69.5 
         Langoiran           Montcalm               Rian       Côte des Bar 
              75.0               75.5               79.0               82.5 
             Vosne           Mercurey           Faugeres           Cevennes 
              88.5               94.5              116.0              134.5 
      Aiguesmortes           Gigondas 
             158.5              167.5 
Code
sort(tapply(psm_res$Hill_0, psm_res$terroir, median))
   Côte des Blancs            Vergèze               Tain Vallee de la Marne 
              26.0               55.0               76.0               78.5 
         Langoiran       Côte des Bar               Rian           Montcalm 
              84.0               94.5              102.0              107.0 
          Mercurey              Vosne           Faugeres       Aiguesmortes 
             108.5              111.5              210.5              242.0 
          Gigondas           Cevennes 
             249.5              263.0 
Code
p_accu_terroir_rarefy <- MiscMetabar::accu_plot(rarefy_even_depth(d_rs, rngseed = 221013), "terroir", by.fact = T, step = 200) + xlim(c(0, 35000))
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
1269OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
threshold <- MiscMetabar::accu_samp_threshold(p_accu_terroir_rarefy)
sort(threshold)
          Montcalm       Aiguesmortes               Rian           Mercurey 
             10201              11001              13801              17001 
Vallee de la Marne       Côte des Bar               Tain              Vosne 
             18601              18801              19001              19401 
          Gigondas           Faugeres           Cevennes          Langoiran 
             21401              22001              23001              24001 
           Vergèze    Côte des Blancs 
             51401              53801 
Code
p_accu_terroir_rarefy
Warning: Removed 702 rows containing missing values or values outside the scale range
(`geom_line()`).

Code
table(d_rs@sam_data$terroir)

      Aiguesmortes           Cevennes       Côte des Bar    Côte des Blancs 
                 2                  4                  4                 15 
          Faugeres           Gigondas          Langoiran           Mercurey 
                 4                  4                  5                  4 
          Montcalm               Rian               Tain Vallee de la Marne 
                 2                  3                  4                  4 
           Vergèze              Vosne 
                16                  4 
Code
tapply(p_accu_terroir_rarefy$data$X1, p_accu_terroir_rarefy$data$fact, max)
      Aiguesmortes           Cevennes       Côte des Bar    Côte des Blancs 
               272                406                230                208 
          Faugeres           Gigondas          Langoiran           Mercurey 
               418                534                290                234 
          Montcalm               Rian               Tain Vallee de la Marne 
               143                277                221                220 
           Vergèze              Vosne 
               453                246 
Code
# Fig_7a
p_accu_balanced_mod_terroir <- 
  MiscMetabar::accu_plot_balanced_modality(d_rs,
                                           "terroir", 
                                           nperm = 999, 
                                           step = 100,
                                           quantile_prob=0.9,
                                           sample.size = 10000)
`set.seed(1)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(1); .Random.seed` for the full vector
...
Warning in max(dff$xlab, na.rm = TRUE): aucun argument pour max ; -Inf est
renvoyé

  |                                                        
  |                                                  |   0%
  |                                                        
  |                                                  |   1%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |=                                                 |   3%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |==                                                |   5%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |===                                               |   7%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |====                                              |   9%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |=====                                             |  11%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |======                                            |  13%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |=======                                           |  15%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |========                                          |  17%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |=========                                         |  19%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |==========                                        |  21%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |===========                                       |  23%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |============                                      |  25%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |=============                                     |  27%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |==============                                    |  29%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |===============                                   |  31%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |================                                  |  33%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |=================                                 |  35%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |==================                                |  37%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |===================                               |  39%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |====================                              |  41%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |=====================                             |  43%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |======================                            |  45%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |=======================                           |  47%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |========================                          |  49%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  50%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================|  99%
  |                                                        
  |==================================================| 100%
Code
p_accu_balanced_mod_terroir +
  xlab("Number of sequences") + 
  ylab("Number of OTUs") + 
  ggrepel::geom_label_repel(data=summarise(group_by(p_accu_balanced_mod_terroir$data,factor) ,y=max(X1,na.rm = T)),aes(label=factor,y=y,x=max(p_accu_balanced_mod_terroir$data$x,na.rm = T)), max.overlaps = 1900, force = 20) + xlim(c(1,25000)) + theme(legend.position = "none" )
Warning: Removed 14 rows containing missing values or values outside the scale range
(`geom_line()`).

Practice

Code
# Figure 4
ggstatsplot::ggbetweenstats(
  psm_res_rarefied,
  practice,
  Hill_0,
  centrality.plotting = F,
  type = "non-parametrique",
  package = "ggsci",
  palette = "springfield_simpsons",
  point.args = list(
    position = ggplot2::position_jitterdodge(dodge.width = 0.6),
    alpha =
      0.8,
    size = 3,
    stroke = 0,
    na.rm = TRUE
  ), ggplot.component = list(theme(plot.subtitle = element_text(size =5, face = "bold"))),
  violin.args = list(width = 0),
  boxplot.args = list(alpha = 0, width = 0.5)
) + ylab("Hill 0 (richness)") +
  ggstatsplot::ggbetweenstats(
    psm_res_rarefied,
    practice,
    Hill_1,
    centrality.plotting = F,
    type = "non-parametrique",
    package = "ggsci",
    palette = "springfield_simpsons",
    point.args = list(
      position = ggplot2::position_jitterdodge(dodge.width = 0.6),
      alpha =
        0.8,
      size = 3,
      stroke = 0,
      na.rm = TRUE
    ), ggplot.component = list(theme(plot.subtitle = element_text(size =5, face = "bold"))),
    violin.args = list(width = 0),
    boxplot.args = list(alpha = 0, width = 0.5)
  ) + ylab("Hill 1 (~Shannon)") +
  ggstatsplot::ggbetweenstats(
    psm_res_rarefied,
    practice,
    Hill_2,
    centrality.plotting = F,
    type = "non-parametrique",
    package = "ggsci",
    palette = "springfield_simpsons",
    point.args = list(
      position = ggplot2::position_jitterdodge(dodge.width = 0.6),
      alpha =
        0.8,
      size = 3,
      stroke = 0,
      na.rm = TRUE
    ), ggplot.component = list(theme(plot.subtitle = element_text(size =5, face = "bold"))),
    violin.args = list(width = 0),
    boxplot.args = list(alpha = 0, width = 0.5)
  ) + ylab("Hill 2 (~Simpson)") +  plot_layout(axes = "collect")

Code
# Figure S11
(ggstatsplot::ggbetweenstats(psm_res,
                             practice,
                             Hill_0,
                             centrality.plotting = F,
                             type = "non-parametrique",
                             violin.args = list(width = 0),
                             boxplot.args = list(alpha = 0, width = 0.5)
) + scale_color_manual(values=c("#0970aa9a", "#33bb9ec2", "#779d4aa3")) )/ (ggstatsplot::ggbetweenstats(psm_res,
                                                                                                        practice,
                                                                                                        Hill_1,
                                                                                                        centrality.plotting = F,
                                                                                                        type = "non-parametrique",
                                                                                                        violin.args = list(width = 0),
                                                                                                        boxplot.args = list(alpha = 0, width = 0.5)
) + scale_color_manual(values=c("#0970aa9a", "#33bb9ec2", "#779d4aa3"))) /
  ( ggstatsplot::ggbetweenstats(psm_res,
                                practice,
                                Hill_2,
                                centrality.plotting = F,
                                type = "non-parametrique",
                                violin.args = list(width = 0),
                                boxplot.args = list(alpha = 0, width = 0.5)
  ) + scale_color_manual(values=c("#0970aa9a", "#33bb9ec2", "#779d4aa3")))
Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.

Code
p_accu_practice_rarefy <- MiscMetabar::accu_plot(rarefy_even_depth(d_rs, rngseed = 221013), "practice", by.fact = T, step = 200)
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
1269OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
threshold <- MiscMetabar::accu_samp_threshold(p_accu_practice_rarefy)
sort(threshold)
  Conversion Conventional      Organic 
       88401        99001       194601 
Code
p_accu_practice_rarefy
Warning: Removed 1 row containing missing values or values outside the scale range
(`geom_line()`).

Code
table(d_rs@sam_data$practice)

Conventional   Conversion      Organic 
          19           17           39 
Code
tapply(p_accu_practice_rarefy$data$X1, p_accu_practice_rarefy$data$fact, max)
Conventional   Conversion      Organic 
         862          946         1461 
Code
p_accu_practice_rarefy_after_merging <- MiscMetabar::accu_plot(rarefy_even_depth(merge_samples2(d_rs, "practice"), rngseed = 221013), "practice", step = 200)
`set.seed(221013)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(221013); .Random.seed` for the full vector
...
372OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Warning in max(dff$xlab, na.rm = TRUE): aucun argument pour max ; -Inf est
renvoyé
Code
(p_accu_practice_rarefy + theme(legend.position = "none") + ylim(c(0, 125))) + (p_accu_practice_rarefy_after_merging + ylim(c(0, 125)))
Warning: Removed 2534 rows containing missing values or values outside the scale range
(`geom_line()`).
Warning: Removed 12577 rows containing missing values or values outside the scale range
(`geom_line()`).

Code
p_accu_practice_rarefy_after_merging
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_line()`).

Code
# Fig_7b
p_accu_balanced_mod <- 
  MiscMetabar::accu_plot_balanced_modality(d_rs,
                                           "practice", 
                                           nperm = 999, 
                                           step = 300,
                                           quantile_prob=0.90)
`set.seed(1)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(1); .Random.seed` for the full vector
...
Warning in max(dff$xlab, na.rm = TRUE): aucun argument pour max ; -Inf est
renvoyé

  |                                                        
  |                                                  |   0%
  |                                                        
  |                                                  |   1%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |=                                                 |   3%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |==                                                |   5%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |===                                               |   7%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |====                                              |   9%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |=====                                             |  11%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |======                                            |  13%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |=======                                           |  15%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |========                                          |  17%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |=========                                         |  19%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |==========                                        |  21%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |===========                                       |  23%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |============                                      |  25%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |=============                                     |  27%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |==============                                    |  29%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |===============                                   |  31%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |================                                  |  33%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |=================                                 |  35%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |==================                                |  37%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |===================                               |  39%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |====================                              |  41%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |=====================                             |  43%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |======================                            |  45%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |=======================                           |  47%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |========================                          |  49%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  50%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================|  99%
  |                                                        
  |==================================================| 100%
Code
(p_accu_balanced_mod +
    xlab("Number of sequences") +
    ylab("Number of OTUs")+ 
    ggrepel::geom_label_repel(data=summarise(group_by(p_accu_balanced_mod$data,factor) ,y=max(X1,na.rm = T)),aes(label=factor,y=y,x=max(p_accu_balanced_mod$data$x,na.rm = T)), max.overlaps = 1900, force = 20) + xlim(c(1,18000)) + theme(legend.position = "none" )) +
  (  p_accu_balanced_mod_terroir +
       xlab("Number of sequences") + 
       ylab("Number of OTUs") + 
       ggrepel::geom_label_repel(data=summarise(group_by(p_accu_balanced_mod_terroir$data,factor) ,y=max(X1,na.rm = T)),aes(label=factor,y=y,x=max(p_accu_balanced_mod_terroir$data$x,na.rm = T)), max.overlaps = 1900, force = 20) + xlim(c(1,25000)) + theme(legend.position = "none" ))
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_line()`).
Warning: Removed 14 rows containing missing values or values outside the scale range
(`geom_line()`).

ZOOM ON LOW-DIVERSITY SAMPLES

Code
otu_hill <- vegan::renyi(d_rs@otu_table, scale = c(0, 1, 2), hill = TRUE)

barplot(sort(otu_hill$`0`))
abline(h = 10)

Code
barplot(sort(otu_hill$`1`))
abline(h = 5)

Code
barplot(sort(otu_hill$`2`))
abline(h = 5)

Code
low_div_samples <-
  rownames(otu_hill[
    otu_hill$`1` < 5 |
      otu_hill$`2` < 5, ])

low_div_samples
 [1] "2019--Languedoc--Cevennes--St Maurice de Cazevieille--Conventional--Conventional-- 4.247388--44.03523--Conventional--Herbicide--Scratching--Herbicide"    
 [2] "PE4"                                                                                                                                                      
 [3] "PE12"                                                                                                                                                     
 [4] "PE13"                                                                                                                                                     
 [5] "2023--Champagne--Côte des Blancs--Chetillons--Chetillons Ecorces--Conventional-- 4.034333--48.94572--Conventional--Herbicide--Grassing--Herbicide"        
 [6] "2023--Champagne--Côte des Blancs--Cramant--BIONNES JEB--Conversion-- 4.018985--48.98872--Conversion--Scratching--Grassing--Grassing"                      
 [7] "2023--Champagne--Côte des Blancs--Cramant--TDB AM29 JEB--Conversion-- 4.016860--48.99683--Conversion--Scratching--Grassing--Grassing"                     
 [8] "2023--Champagne--Côte des Blancs--Mireaux--JEB VOISIN 1 MIREAUX DESSOUS--Conventional-- 3.994335--48.98419--Conventional--Herbicide--Herbicide--Herbicide"
 [9] "2023--Champagne--Côte des Blancs--Avize--AVIZE Desh chimique en plein--Conventional-- 4.014914--48.97641--Conventional--Herbicide--Herbicide--Herbicide"  
[10] "2020--Bordelais--Langoiran--Langoiran--Conventional--Conventional---0.384545--44.70287--Conventional--Scratching--Grassing--Grassing"                     
[11] "2020--Bordelais--Langoiran--Langoiran--Conventional chimique--Conventional---0.356503--44.71320--Conventional--Herbicide--Herbicide--Herbicide"           
[12] "2020--Bordelais--Rian--Rian--Organic grassed--Organic---0.337082--44.66779--Organic grassed--Scratching--Grassing--Grassing"                              
[13] "2020--Bordelais--Rian--Rian--Conventional Terra Vitis--Conventional---0.333922--44.66419--Organic grassed--Scratching--Grassing--Grassing"                
Code
sum(otu_hill$`0` < 10)
[1] 2
Code
sum(otu_hill$`1` < 5)
[1] 1
Code
sum(otu_hill$`2` < 5)
[1] 13
Code
length(low_div_samples)
[1] 13
Code
low_div_samples_table <- tibble(cbind(as_tibble(d_rs@sam_data[low_div_samples, c("terroir", "practice", "rank", "inter_rank", "compartment")]), apply(otu_hill[low_div_samples, ], 2, round, digits = 2), sample_sums(d_rs)[low_div_samples]))
Warning in class(x) <- tibble_class: La class(x) est une chaîne multiple
("tbl_df", "tbl", ...) ; le résultat ne sera plus un objet S4
Code
low_div_samples_table$compartment <- ifelse(is.na(low_div_samples_table$compartment), "Spores + Roots", "Spores")

colnames(low_div_samples_table) <- c("Terroir", "Global practice", "Rank practice", "Inter rank practice", "Compartment", "Hill 0 (richness)", "Hill 1 (~Shannon)", "Hill 2 (~Simpson)", "nb_seq")

low_div_samples_table <- arrange(low_div_samples_table, as.numeric(`Hill 0 (richness)`))

low_div_samples_table <-
  rbind(
    low_div_samples_table,
    c(
      "",
      "",
      "",
      "MEAN",
      "(low -diversity samples)",
      round(mean(low_div_samples_table$`Hill 0 (richness)`), 2),
      round(mean(low_div_samples_table$`Hill 1 (~Shannon)`), 2),
      round(mean(low_div_samples_table$`Hill 2 (~Simpson)`), 2),
      round(mean(low_div_samples_table$nb_seq), 2)
    ),
    c(
      "",
      "",
      "",
      "MEAN",
      "(all samples)",
      round(mean(otu_hill$`0`), 2),
      round(mean(otu_hill$`1`), 2),
      round(mean(otu_hill$`2`), 2),
      round(mean(sample_sums(d_rs)), 2)
    ),
    c(
      "",
      "",
      "",
      "MAX",
      "(all samples)",
      round(max(otu_hill$`0`), 2),
      round(max(otu_hill$`1`), 2),
      round(max(otu_hill$`2`), 2),
      round(max(sample_sums(d_rs)), 2)
    )
  )

# Table XXX_low_div_samples
kbl(low_div_samples_table) |>
  kable_classic(full_width = F, html_font = "Cambria")
Terroir Global practice Rank practice Inter rank practice Compartment Hill 0 (richness) Hill 1 (~Shannon) Hill 2 (~Simpson) nb_seq
Langoiran Conventional Herbicide Herbicide Spores + Roots 6 3.05 2.11 12643
Vergèze Organic Scratching Ploughing Spores 8 5.8 4.76 6768
Côte des Blancs Conventional Herbicide Grassing Spores + Roots 11 5.58 4.09 28481
Côte des Blancs Conversion Scratching Grassing Spores + Roots 11 6.59 4.65 42775
Vergèze Organic Scratching Grassing Spores + Roots 18 6.2 3.55 49579
Côte des Blancs Conversion Scratching Grassing Spores + Roots 18 5.82 4.53 45845
Côte des Blancs Conventional Herbicide Herbicide Spores + Roots 18 5.68 3.52 41991
Vergèze Organic Scratching Scratching Spores + Roots 27 6.36 2.98 34242
Côte des Blancs Conventional Herbicide Herbicide Spores + Roots 27 6.28 3.59 45017
Rian Organic Scratching Grassing Spores + Roots 70 13.21 4.5 42986
Cevennes Conventional Herbicide Scratching Spores + Roots 71 8.56 4.95 93308
Langoiran Conventional Scratching Grassing Spores + Roots 81 10.24 3.84 36512
Rian Conventional Scratching Grassing Spores + Roots 102 10.47 3.65 70525
MEAN (low -diversity samples) 36 7.22 3.9 42359.38
MEAN (all samples) 103.09 20.14 10.47 48294.53
MAX (all samples) 443 64.4 24.16 101183

ECOLOGICAL ANALYSES : BETA DIVERSITY

Compartment

Code
# Fig S10
p <- phyloseq::plot_ordination(d_muco,
                               vegan::decorana(vegdist(as(otu_table(d_muco), "matrix"),
                                                       method = "robust.aitchison"
                               )),
                               color = "region",
                               shape = "compartment"
) +
  geom_point(size = 3) +
  stat_ellipse(inherit.aes = F, aes(x = DCA1, y = DCA2, linetype = compartment))
Warning in phyloseq::plot_ordination(d_muco,
vegan::decorana(vegdist(as(otu_table(d_muco), : `Ordination species/OTU/taxa
coordinate indices did not match `physeq` index names. Setting corresponding
coordinates to NULL.
Code
p + geom_line(data = p$data, aes(group = paired_name))

Practice and terroir

Code
p <-
  phyloseq::plot_ordination(d_rs,
                            ordinate(d_rs,
                                     method = "NMDS",
                                     distance = "bray"
                            ),
                            color = "terroir",
                            shape = "practice"
  ) + facet_wrap("region") + scale_shape_manual(values=c(25,23,24))
Square root transformation
Wisconsin double standardization
Run 0 stress 0.2199813 
Run 1 stress 0.2448036 
Run 2 stress 0.2180221 
... New best solution
... Procrustes: rmse 0.06822839  max resid 0.5284097 
Run 3 stress 0.216845 
... New best solution
... Procrustes: rmse 0.02068218  max resid 0.116768 
Run 4 stress 0.2168451 
... Procrustes: rmse 0.0002339127  max resid 0.001590561 
... Similar to previous best
Run 5 stress 0.2199347 
Run 6 stress 0.2381263 
Run 7 stress 0.2176648 
Run 8 stress 0.2206405 
Run 9 stress 0.2199851 
Run 10 stress 0.2177386 
Run 11 stress 0.2382035 
Run 12 stress 0.2505707 
Run 13 stress 0.2186254 
Run 14 stress 0.2260154 
Run 15 stress 0.2168451 
... Procrustes: rmse 0.0001809623  max resid 0.001056322 
... Similar to previous best
Run 16 stress 0.2200828 
Run 17 stress 0.225982 
Run 18 stress 0.2488814 
Run 19 stress 0.2168449 
... New best solution
... Procrustes: rmse 0.0002316716  max resid 0.001384702 
... Similar to previous best
Run 20 stress 0.2168451 
... Procrustes: rmse 0.0002848589  max resid 0.001564728 
... Similar to previous best
*** Best solution repeated 2 times
Code
p_nmds <- p + geom_point(
  data = select(p$data, -c(region)),
  fill = "grey40",
  color = "grey20",
  size = 1,
  alpha = 0.5
) +
  geom_point(size = 3, aes(fill=terroir)) +
  ggtitle("NMDS on bray distance") + 
  scale_fill_manual(values=c("#5660d0","#de8a00","#b59e00","#00773d","#fcb709",
                             "#e15968","#784b43","#c200ab","#00b3f0","#953726",
                             "#e09199","#379d30","#ed5019","#ff63b0")) +
  scale_color_manual(values=rep("grey20",14))


# XXXX_nmds_region_practice_terroir
p_nmds

Code
p <- phyloseq::plot_ordination(d_rs,
                               ordinate(d_rs,
                                        method = "NMDS",
                                        distance = "bray"
                               ),
                               color = "practice"
) +
  geom_point(size = 4) + facet_wrap("~terroir")
Square root transformation
Wisconsin double standardization
Run 0 stress 0.2199813 
Run 1 stress 0.2218407 
Run 2 stress 0.2257996 
Run 3 stress 0.2168451 
... New best solution
... Procrustes: rmse 0.06699764  max resid 0.5255248 
Run 4 stress 0.2201833 
Run 5 stress 0.2182975 
Run 6 stress 0.2505065 
Run 7 stress 0.2183028 
Run 8 stress 0.2222091 
Run 9 stress 0.2205322 
Run 10 stress 0.2256243 
Run 11 stress 0.2198921 
Run 12 stress 0.220747 
Run 13 stress 0.228605 
Run 14 stress 0.2279042 
Run 15 stress 0.2201713 
Run 16 stress 0.2182979 
Run 17 stress 0.227071 
Run 18 stress 0.219269 
Run 19 stress 0.2168449 
... New best solution
... Procrustes: rmse 0.0002240927  max resid 0.001403987 
... Similar to previous best
Run 20 stress 0.2350719 
*** Best solution repeated 1 times
Code
p + geom_point(
  data = select(p$data, -c(terroir)),
  size = 2,
  alpha = 0.3
) +
  geom_point(size = 4) +
  ggtitle("NMDS on bray distance")

Code
# Fig 6a
upset_pq(d_rs, "practice", taxa_fill = "Family",
         set_sizes=(
           upset_set_size()
           + geom_text(aes(label=after_stat(count)), hjust=-0.3, color="white", stat='count')
         ))
Cleaning suppress 0 taxa (  ) and 0 sample(s) (  ).
Number of non-matching ASV 0
Number of matching ASV 3695
Number of filtered-out ASV 0
Number of kept ASV 3695
Number of kept samples 75

Code
ggvenn_pq(d_rs, "practice")
Two modalities differ greatly (more than x2) in their number of sequences (1865101 vs 838771). You may be interested by the parameter rarefy_after_merging

Code
# Fig 6b
upset_pq(d_rs, "terroir", taxa_fill = "Family", min_size = 2,  height_ratio = 0.6
         ,set_sizes=(
           upset_set_size()
           + geom_label(aes(label=after_stat(count)), hjust=-0.3, size=2.5,  stat='count')
         ))
Cleaning suppress 0 taxa (  ) and 0 sample(s) (  ).
Number of non-matching ASV 0
Number of matching ASV 3695
Number of filtered-out ASV 0
Number of kept ASV 3695
Number of kept samples 75
Warning: Removed 232 rows containing non-finite outside the scale range
(`stat_count()`).

Global beta-div analysis

Spatial data

Code
library(geodist)
lat_lon <- as_tibble(d_rs@sam_data[, c("lat", "long")])
lat_lon$lat <- as.numeric(lat_lon$lat)
lat_lon$long <- as.numeric(lat_lon$long)
dist_spatial_meter <- as.dist(geodist(lat_lon, measure = "geodesic"),
                              upper = FALSE
)
Code
lon_lat_rs <- d_rs@sam_data[, c("long", "lat")]
lon_lat_rs$long <- as.numeric(lon_lat_rs$long)
lon_lat_rs$lat <- as.numeric(lon_lat_rs$lat)
MEM <- dbmem(lon_lat_rs, MEM.autocor = "non-null")
Code
test_MEM <- moran.randtest(MEM, nrepet = 1999)
test_MEM$pvalue_adjust <- p.adjust(test_MEM$pvalue, method = "BH")
test_MEM$pvalue_adjust[test_MEM$pvalue_adjust < 0.05]
[1] 0.0185 0.0185
Code
barplot(test_MEM$obs)

Code
d_rs@sam_data$MEM_1 <- MEM[, 1]
d_rs@sam_data$MEM_2 <- MEM[, 2]
res_ado_spatial_robAit <- adonis_pq(
  d_rs,
  "MEM_1 + MEM_2 + practice + inter_rank + rank  + terroir",
  correction_for_sample_size = TRUE,
  dist_method = "robust.aitchison",
  by = "terms"
)

res_ado_spatial_robAit_rarefy <- adonis_pq(
  rarefy_even_depth(d_rs, rngseed = 626),
  "MEM_1 + MEM_2 + practice + inter_rank + rank  + terroir",
  correction_for_sample_size = FALSE,
  dist_method = "robust.aitchison",
  by = "terms"
)
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
res_ado_spatial_bray <- adonis_pq(
  d_rs,
  "MEM_1 + MEM_2 + practice + inter_rank + rank  + terroir",
  correction_for_sample_size = TRUE,
  dist_method = "bray",
  by = "terms"
)


res_ado_spatial_bray_rarefy <- adonis_pq(
  rarefy_even_depth(d_rs, rngseed = 626),
  "MEM_1 + MEM_2 + practice + inter_rank + rank  + terroir",
  correction_for_sample_size = FALSE,
  dist_method = "bray",
  by = "terms"
)
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
df <- data.frame(res_ado_spatial_bray)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "sample_size",
      "MEM_1",
      "MEM_2",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")
p1 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.01
  ) +
  ggtitle("Permanova on Bray")

df <- data.frame(res_ado_spatial_robAit)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "MEM_1",
      "MEM_2",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")
p2 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.01
  ) +
  ggtitle("Permanova on robust Aitchison")

df <- data.frame(res_ado_spatial_bray_rarefy)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "MEM_1",
      "MEM_2",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")

p3 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.01
  ) +
  ggtitle("Permanova on Bray after rarefaction")

df <- data.frame(res_ado_spatial_robAit_rarefy)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "MEM_1",
      "MEM_2",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")
p4 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.01
  ) +
  ggtitle("Permanova on robust Aitchison after rarefaction")

(p1 + ylim(0, 0.12) + p2 + ylim(0, 0.12)) /
  (p3 + ylim(0, 0.12) + p4 + ylim(0, 0.12))
Warning: Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).
Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).
Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).
Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).

Code
anova(vegan::betadisper(phyloseq::distance(d_rs@otu_table, "bray"), d_rs@sam_data$terroir))
Analysis of Variance Table

Response: Distances
          Df  Sum Sq  Mean Sq F value Pr(>F)
Groups    13 0.23559 0.018122  1.4572 0.1605
Residuals 61 0.75865 0.012437               
Code
anova(vegan::betadisper(phyloseq::distance(d_rs@otu_table, "bray"), d_rs@sam_data$practice))
Analysis of Variance Table

Response: Distances
          Df  Sum Sq   Mean Sq F value Pr(>F)
Groups     2 0.01743 0.0087135  0.8894 0.4154
Residuals 72 0.70541 0.0097974               
Code
anova(vegan::betadisper(phyloseq::distance(d_rs@otu_table, "bray"), rarefy_even_depth(d_rs, rngseed = 626)@sam_data$terroir))
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Analysis of Variance Table

Response: Distances
          Df  Sum Sq  Mean Sq F value Pr(>F)
Groups    13 0.23559 0.018122  1.4572 0.1605
Residuals 61 0.75865 0.012437               
Code
anova(vegan::betadisper(phyloseq::distance(d_rs@otu_table, "bray"), rarefy_even_depth(d_rs, rngseed = 626)@sam_data$practice))
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Analysis of Variance Table

Response: Distances
          Df  Sum Sq   Mean Sq F value Pr(>F)
Groups     2 0.01743 0.0087135  0.8894 0.4154
Residuals 72 0.70541 0.0097974               
Code
anova(vegan::betadisper(vegdist(d_rs@otu_table, "robust.aitchison"), d_rs@sam_data$terroir))
Analysis of Variance Table

Response: Distances
          Df  Sum Sq Mean Sq F value    Pr(>F)    
Groups    13 2529.97 194.613  13.879 1.127e-13 ***
Residuals 61  855.37  14.022                      
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Code
anova(vegan::betadisper(vegdist(d_rs@otu_table, "robust.aitchison"), d_rs@sam_data$practice))
Analysis of Variance Table

Response: Distances
          Df Sum Sq Mean Sq F value Pr(>F)
Groups     2   69.5  34.728  0.4285 0.6532
Residuals 72 5835.7  81.051               
Code
anova(vegan::betadisper(vegdist(d_rs@otu_table, "robust.aitchison"), rarefy_even_depth(d_rs, rngseed = 626)@sam_data$terroir))
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Analysis of Variance Table

Response: Distances
          Df  Sum Sq Mean Sq F value    Pr(>F)    
Groups    13 2529.97 194.613  13.879 1.127e-13 ***
Residuals 61  855.37  14.022                      
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Code
anova(vegan::betadisper(vegdist(d_rs@otu_table, "robust.aitchison"), rarefy_even_depth(d_rs, rngseed = 626)@sam_data$practice))
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Analysis of Variance Table

Response: Distances
          Df Sum Sq Mean Sq F value Pr(>F)
Groups     2   69.5  34.728  0.4285 0.6532
Residuals 72 5835.7  81.051               

Soil properties

Code
soil_prop <- as_tibble(d_rs@sam_data) |>
  select(paired_name, practice, organic, terroir, Coarse_sand:CEC)
soil_prop_num <- soil_prop |>
  select(-all_of(c("practice", "organic", "terroir", "CaO", "Total_sand", "Total_filt"))) |>
  tibble::column_to_rownames("paired_name") |>
  mutate(across(everything(), as.numeric)) |>
  tidyr::drop_na()
Code
#devtools::install_github("arleyc/PCAtest")
pca_test_res <- PCAtest::PCAtest(soil_prop_num, varcorr = T, plot = F)

Sampling bootstrap replicates... Please wait

 1 of 1000 bootstrap replicates

 2 of 1000 bootstrap replicates

 3 of 1000 bootstrap replicates

 4 of 1000 bootstrap replicates

 5 of 1000 bootstrap replicates

 6 of 1000 bootstrap replicates

 7 of 1000 bootstrap replicates

 8 of 1000 bootstrap replicates

 9 of 1000 bootstrap replicates

 10 of 1000 bootstrap replicates

 11 of 1000 bootstrap replicates

 12 of 1000 bootstrap replicates

 13 of 1000 bootstrap replicates

 14 of 1000 bootstrap replicates

 15 of 1000 bootstrap replicates

 16 of 1000 bootstrap replicates

 17 of 1000 bootstrap replicates

 18 of 1000 bootstrap replicates

 19 of 1000 bootstrap replicates

 20 of 1000 bootstrap replicates

 21 of 1000 bootstrap replicates

 22 of 1000 bootstrap replicates

 23 of 1000 bootstrap replicates

 24 of 1000 bootstrap replicates

 25 of 1000 bootstrap replicates

 26 of 1000 bootstrap replicates

 27 of 1000 bootstrap replicates

 28 of 1000 bootstrap replicates

 29 of 1000 bootstrap replicates

 30 of 1000 bootstrap replicates

 31 of 1000 bootstrap replicates

 32 of 1000 bootstrap replicates

 33 of 1000 bootstrap replicates

 34 of 1000 bootstrap replicates

 35 of 1000 bootstrap replicates

 36 of 1000 bootstrap replicates

 37 of 1000 bootstrap replicates

 38 of 1000 bootstrap replicates

 39 of 1000 bootstrap replicates

 40 of 1000 bootstrap replicates

 41 of 1000 bootstrap replicates

 42 of 1000 bootstrap replicates

 43 of 1000 bootstrap replicates

 44 of 1000 bootstrap replicates

 45 of 1000 bootstrap replicates

 46 of 1000 bootstrap replicates

 47 of 1000 bootstrap replicates

 48 of 1000 bootstrap replicates

 49 of 1000 bootstrap replicates

 50 of 1000 bootstrap replicates

 51 of 1000 bootstrap replicates

 52 of 1000 bootstrap replicates

 53 of 1000 bootstrap replicates

 54 of 1000 bootstrap replicates

 55 of 1000 bootstrap replicates

 56 of 1000 bootstrap replicates

 57 of 1000 bootstrap replicates

 58 of 1000 bootstrap replicates

 59 of 1000 bootstrap replicates

 60 of 1000 bootstrap replicates

 61 of 1000 bootstrap replicates

 62 of 1000 bootstrap replicates

 63 of 1000 bootstrap replicates

 64 of 1000 bootstrap replicates

 65 of 1000 bootstrap replicates

 66 of 1000 bootstrap replicates

 67 of 1000 bootstrap replicates

 68 of 1000 bootstrap replicates

 69 of 1000 bootstrap replicates

 70 of 1000 bootstrap replicates

 71 of 1000 bootstrap replicates

 72 of 1000 bootstrap replicates

 73 of 1000 bootstrap replicates

 74 of 1000 bootstrap replicates

 75 of 1000 bootstrap replicates

 76 of 1000 bootstrap replicates

 77 of 1000 bootstrap replicates

 78 of 1000 bootstrap replicates

 79 of 1000 bootstrap replicates

 80 of 1000 bootstrap replicates

 81 of 1000 bootstrap replicates

 82 of 1000 bootstrap replicates

 83 of 1000 bootstrap replicates

 84 of 1000 bootstrap replicates

 85 of 1000 bootstrap replicates

 86 of 1000 bootstrap replicates

 87 of 1000 bootstrap replicates

 88 of 1000 bootstrap replicates

 89 of 1000 bootstrap replicates

 90 of 1000 bootstrap replicates

 91 of 1000 bootstrap replicates

 92 of 1000 bootstrap replicates

 93 of 1000 bootstrap replicates

 94 of 1000 bootstrap replicates

 95 of 1000 bootstrap replicates

 96 of 1000 bootstrap replicates

 97 of 1000 bootstrap replicates

 98 of 1000 bootstrap replicates

 99 of 1000 bootstrap replicates

 100 of 1000 bootstrap replicates

 101 of 1000 bootstrap replicates

 102 of 1000 bootstrap replicates

 103 of 1000 bootstrap replicates

 104 of 1000 bootstrap replicates

 105 of 1000 bootstrap replicates

 106 of 1000 bootstrap replicates

 107 of 1000 bootstrap replicates

 108 of 1000 bootstrap replicates

 109 of 1000 bootstrap replicates

 110 of 1000 bootstrap replicates

 111 of 1000 bootstrap replicates

 112 of 1000 bootstrap replicates

 113 of 1000 bootstrap replicates

 114 of 1000 bootstrap replicates

 115 of 1000 bootstrap replicates

 116 of 1000 bootstrap replicates

 117 of 1000 bootstrap replicates

 118 of 1000 bootstrap replicates

 119 of 1000 bootstrap replicates

 120 of 1000 bootstrap replicates

 121 of 1000 bootstrap replicates

 122 of 1000 bootstrap replicates

 123 of 1000 bootstrap replicates

 124 of 1000 bootstrap replicates

 125 of 1000 bootstrap replicates

 126 of 1000 bootstrap replicates

 127 of 1000 bootstrap replicates

 128 of 1000 bootstrap replicates

 129 of 1000 bootstrap replicates

 130 of 1000 bootstrap replicates

 131 of 1000 bootstrap replicates

 132 of 1000 bootstrap replicates

 133 of 1000 bootstrap replicates

 134 of 1000 bootstrap replicates

 135 of 1000 bootstrap replicates

 136 of 1000 bootstrap replicates

 137 of 1000 bootstrap replicates

 138 of 1000 bootstrap replicates

 139 of 1000 bootstrap replicates

 140 of 1000 bootstrap replicates

 141 of 1000 bootstrap replicates

 142 of 1000 bootstrap replicates

 143 of 1000 bootstrap replicates

 144 of 1000 bootstrap replicates

 145 of 1000 bootstrap replicates

 146 of 1000 bootstrap replicates

 147 of 1000 bootstrap replicates

 148 of 1000 bootstrap replicates

 149 of 1000 bootstrap replicates

 150 of 1000 bootstrap replicates

 151 of 1000 bootstrap replicates

 152 of 1000 bootstrap replicates

 153 of 1000 bootstrap replicates

 154 of 1000 bootstrap replicates

 155 of 1000 bootstrap replicates

 156 of 1000 bootstrap replicates

 157 of 1000 bootstrap replicates

 158 of 1000 bootstrap replicates

 159 of 1000 bootstrap replicates

 160 of 1000 bootstrap replicates

 161 of 1000 bootstrap replicates

 162 of 1000 bootstrap replicates

 163 of 1000 bootstrap replicates

 164 of 1000 bootstrap replicates

 165 of 1000 bootstrap replicates

 166 of 1000 bootstrap replicates

 167 of 1000 bootstrap replicates

 168 of 1000 bootstrap replicates

 169 of 1000 bootstrap replicates

 170 of 1000 bootstrap replicates

 171 of 1000 bootstrap replicates

 172 of 1000 bootstrap replicates

 173 of 1000 bootstrap replicates

 174 of 1000 bootstrap replicates

 175 of 1000 bootstrap replicates

 176 of 1000 bootstrap replicates

 177 of 1000 bootstrap replicates

 178 of 1000 bootstrap replicates

 179 of 1000 bootstrap replicates

 180 of 1000 bootstrap replicates

 181 of 1000 bootstrap replicates

 182 of 1000 bootstrap replicates

 183 of 1000 bootstrap replicates

 184 of 1000 bootstrap replicates

 185 of 1000 bootstrap replicates

 186 of 1000 bootstrap replicates

 187 of 1000 bootstrap replicates

 188 of 1000 bootstrap replicates

 189 of 1000 bootstrap replicates

 190 of 1000 bootstrap replicates

 191 of 1000 bootstrap replicates

 192 of 1000 bootstrap replicates

 193 of 1000 bootstrap replicates

 194 of 1000 bootstrap replicates

 195 of 1000 bootstrap replicates

 196 of 1000 bootstrap replicates

 197 of 1000 bootstrap replicates

 198 of 1000 bootstrap replicates

 199 of 1000 bootstrap replicates

 200 of 1000 bootstrap replicates

 201 of 1000 bootstrap replicates

 202 of 1000 bootstrap replicates

 203 of 1000 bootstrap replicates

 204 of 1000 bootstrap replicates

 205 of 1000 bootstrap replicates

 206 of 1000 bootstrap replicates

 207 of 1000 bootstrap replicates

 208 of 1000 bootstrap replicates

 209 of 1000 bootstrap replicates

 210 of 1000 bootstrap replicates

 211 of 1000 bootstrap replicates

 212 of 1000 bootstrap replicates

 213 of 1000 bootstrap replicates

 214 of 1000 bootstrap replicates

 215 of 1000 bootstrap replicates

 216 of 1000 bootstrap replicates

 217 of 1000 bootstrap replicates

 218 of 1000 bootstrap replicates

 219 of 1000 bootstrap replicates

 220 of 1000 bootstrap replicates

 221 of 1000 bootstrap replicates

 222 of 1000 bootstrap replicates

 223 of 1000 bootstrap replicates

 224 of 1000 bootstrap replicates

 225 of 1000 bootstrap replicates

 226 of 1000 bootstrap replicates

 227 of 1000 bootstrap replicates

 228 of 1000 bootstrap replicates

 229 of 1000 bootstrap replicates

 230 of 1000 bootstrap replicates

 231 of 1000 bootstrap replicates

 232 of 1000 bootstrap replicates

 233 of 1000 bootstrap replicates

 234 of 1000 bootstrap replicates

 235 of 1000 bootstrap replicates

 236 of 1000 bootstrap replicates

 237 of 1000 bootstrap replicates

 238 of 1000 bootstrap replicates

 239 of 1000 bootstrap replicates

 240 of 1000 bootstrap replicates

 241 of 1000 bootstrap replicates

 242 of 1000 bootstrap replicates

 243 of 1000 bootstrap replicates

 244 of 1000 bootstrap replicates

 245 of 1000 bootstrap replicates

 246 of 1000 bootstrap replicates

 247 of 1000 bootstrap replicates

 248 of 1000 bootstrap replicates

 249 of 1000 bootstrap replicates

 250 of 1000 bootstrap replicates

 251 of 1000 bootstrap replicates

 252 of 1000 bootstrap replicates

 253 of 1000 bootstrap replicates

 254 of 1000 bootstrap replicates

 255 of 1000 bootstrap replicates

 256 of 1000 bootstrap replicates

 257 of 1000 bootstrap replicates

 258 of 1000 bootstrap replicates

 259 of 1000 bootstrap replicates

 260 of 1000 bootstrap replicates

 261 of 1000 bootstrap replicates

 262 of 1000 bootstrap replicates

 263 of 1000 bootstrap replicates

 264 of 1000 bootstrap replicates

 265 of 1000 bootstrap replicates

 266 of 1000 bootstrap replicates

 267 of 1000 bootstrap replicates

 268 of 1000 bootstrap replicates

 269 of 1000 bootstrap replicates

 270 of 1000 bootstrap replicates

 271 of 1000 bootstrap replicates

 272 of 1000 bootstrap replicates

 273 of 1000 bootstrap replicates

 274 of 1000 bootstrap replicates

 275 of 1000 bootstrap replicates

 276 of 1000 bootstrap replicates

 277 of 1000 bootstrap replicates

 278 of 1000 bootstrap replicates

 279 of 1000 bootstrap replicates

 280 of 1000 bootstrap replicates

 281 of 1000 bootstrap replicates

 282 of 1000 bootstrap replicates

 283 of 1000 bootstrap replicates

 284 of 1000 bootstrap replicates

 285 of 1000 bootstrap replicates

 286 of 1000 bootstrap replicates

 287 of 1000 bootstrap replicates

 288 of 1000 bootstrap replicates

 289 of 1000 bootstrap replicates

 290 of 1000 bootstrap replicates

 291 of 1000 bootstrap replicates

 292 of 1000 bootstrap replicates

 293 of 1000 bootstrap replicates

 294 of 1000 bootstrap replicates

 295 of 1000 bootstrap replicates

 296 of 1000 bootstrap replicates

 297 of 1000 bootstrap replicates

 298 of 1000 bootstrap replicates

 299 of 1000 bootstrap replicates

 300 of 1000 bootstrap replicates

 301 of 1000 bootstrap replicates

 302 of 1000 bootstrap replicates

 303 of 1000 bootstrap replicates

 304 of 1000 bootstrap replicates

 305 of 1000 bootstrap replicates

 306 of 1000 bootstrap replicates

 307 of 1000 bootstrap replicates

 308 of 1000 bootstrap replicates

 309 of 1000 bootstrap replicates

 310 of 1000 bootstrap replicates

 311 of 1000 bootstrap replicates

 312 of 1000 bootstrap replicates

 313 of 1000 bootstrap replicates

 314 of 1000 bootstrap replicates

 315 of 1000 bootstrap replicates

 316 of 1000 bootstrap replicates

 317 of 1000 bootstrap replicates

 318 of 1000 bootstrap replicates

 319 of 1000 bootstrap replicates

 320 of 1000 bootstrap replicates

 321 of 1000 bootstrap replicates

 322 of 1000 bootstrap replicates

 323 of 1000 bootstrap replicates

 324 of 1000 bootstrap replicates

 325 of 1000 bootstrap replicates

 326 of 1000 bootstrap replicates

 327 of 1000 bootstrap replicates

 328 of 1000 bootstrap replicates

 329 of 1000 bootstrap replicates

 330 of 1000 bootstrap replicates

 331 of 1000 bootstrap replicates

 332 of 1000 bootstrap replicates

 333 of 1000 bootstrap replicates

 334 of 1000 bootstrap replicates

 335 of 1000 bootstrap replicates

 336 of 1000 bootstrap replicates

 337 of 1000 bootstrap replicates

 338 of 1000 bootstrap replicates

 339 of 1000 bootstrap replicates

 340 of 1000 bootstrap replicates

 341 of 1000 bootstrap replicates

 342 of 1000 bootstrap replicates

 343 of 1000 bootstrap replicates

 344 of 1000 bootstrap replicates

 345 of 1000 bootstrap replicates

 346 of 1000 bootstrap replicates

 347 of 1000 bootstrap replicates

 348 of 1000 bootstrap replicates

 349 of 1000 bootstrap replicates

 350 of 1000 bootstrap replicates

 351 of 1000 bootstrap replicates

 352 of 1000 bootstrap replicates

 353 of 1000 bootstrap replicates

 354 of 1000 bootstrap replicates

 355 of 1000 bootstrap replicates

 356 of 1000 bootstrap replicates

 357 of 1000 bootstrap replicates

 358 of 1000 bootstrap replicates

 359 of 1000 bootstrap replicates

 360 of 1000 bootstrap replicates

 361 of 1000 bootstrap replicates

 362 of 1000 bootstrap replicates

 363 of 1000 bootstrap replicates

 364 of 1000 bootstrap replicates

 365 of 1000 bootstrap replicates

 366 of 1000 bootstrap replicates

 367 of 1000 bootstrap replicates

 368 of 1000 bootstrap replicates

 369 of 1000 bootstrap replicates

 370 of 1000 bootstrap replicates

 371 of 1000 bootstrap replicates

 372 of 1000 bootstrap replicates

 373 of 1000 bootstrap replicates

 374 of 1000 bootstrap replicates

 375 of 1000 bootstrap replicates

 376 of 1000 bootstrap replicates

 377 of 1000 bootstrap replicates

 378 of 1000 bootstrap replicates

 379 of 1000 bootstrap replicates

 380 of 1000 bootstrap replicates

 381 of 1000 bootstrap replicates

 382 of 1000 bootstrap replicates

 383 of 1000 bootstrap replicates

 384 of 1000 bootstrap replicates

 385 of 1000 bootstrap replicates

 386 of 1000 bootstrap replicates

 387 of 1000 bootstrap replicates

 388 of 1000 bootstrap replicates

 389 of 1000 bootstrap replicates

 390 of 1000 bootstrap replicates

 391 of 1000 bootstrap replicates

 392 of 1000 bootstrap replicates

 393 of 1000 bootstrap replicates

 394 of 1000 bootstrap replicates

 395 of 1000 bootstrap replicates

 396 of 1000 bootstrap replicates

 397 of 1000 bootstrap replicates

 398 of 1000 bootstrap replicates

 399 of 1000 bootstrap replicates

 400 of 1000 bootstrap replicates

 401 of 1000 bootstrap replicates

 402 of 1000 bootstrap replicates

 403 of 1000 bootstrap replicates

 404 of 1000 bootstrap replicates

 405 of 1000 bootstrap replicates

 406 of 1000 bootstrap replicates

 407 of 1000 bootstrap replicates

 408 of 1000 bootstrap replicates

 409 of 1000 bootstrap replicates

 410 of 1000 bootstrap replicates

 411 of 1000 bootstrap replicates

 412 of 1000 bootstrap replicates

 413 of 1000 bootstrap replicates

 414 of 1000 bootstrap replicates

 415 of 1000 bootstrap replicates

 416 of 1000 bootstrap replicates

 417 of 1000 bootstrap replicates

 418 of 1000 bootstrap replicates

 419 of 1000 bootstrap replicates

 420 of 1000 bootstrap replicates

 421 of 1000 bootstrap replicates

 422 of 1000 bootstrap replicates

 423 of 1000 bootstrap replicates

 424 of 1000 bootstrap replicates

 425 of 1000 bootstrap replicates

 426 of 1000 bootstrap replicates

 427 of 1000 bootstrap replicates

 428 of 1000 bootstrap replicates

 429 of 1000 bootstrap replicates

 430 of 1000 bootstrap replicates

 431 of 1000 bootstrap replicates

 432 of 1000 bootstrap replicates

 433 of 1000 bootstrap replicates

 434 of 1000 bootstrap replicates

 435 of 1000 bootstrap replicates

 436 of 1000 bootstrap replicates

 437 of 1000 bootstrap replicates

 438 of 1000 bootstrap replicates

 439 of 1000 bootstrap replicates

 440 of 1000 bootstrap replicates

 441 of 1000 bootstrap replicates

 442 of 1000 bootstrap replicates

 443 of 1000 bootstrap replicates

 444 of 1000 bootstrap replicates

 445 of 1000 bootstrap replicates

 446 of 1000 bootstrap replicates

 447 of 1000 bootstrap replicates

 448 of 1000 bootstrap replicates

 449 of 1000 bootstrap replicates

 450 of 1000 bootstrap replicates

 451 of 1000 bootstrap replicates

 452 of 1000 bootstrap replicates

 453 of 1000 bootstrap replicates

 454 of 1000 bootstrap replicates

 455 of 1000 bootstrap replicates

 456 of 1000 bootstrap replicates

 457 of 1000 bootstrap replicates

 458 of 1000 bootstrap replicates

 459 of 1000 bootstrap replicates

 460 of 1000 bootstrap replicates

 461 of 1000 bootstrap replicates

 462 of 1000 bootstrap replicates

 463 of 1000 bootstrap replicates

 464 of 1000 bootstrap replicates

 465 of 1000 bootstrap replicates

 466 of 1000 bootstrap replicates

 467 of 1000 bootstrap replicates

 468 of 1000 bootstrap replicates

 469 of 1000 bootstrap replicates

 470 of 1000 bootstrap replicates

 471 of 1000 bootstrap replicates

 472 of 1000 bootstrap replicates

 473 of 1000 bootstrap replicates

 474 of 1000 bootstrap replicates

 475 of 1000 bootstrap replicates

 476 of 1000 bootstrap replicates

 477 of 1000 bootstrap replicates

 478 of 1000 bootstrap replicates

 479 of 1000 bootstrap replicates

 480 of 1000 bootstrap replicates

 481 of 1000 bootstrap replicates

 482 of 1000 bootstrap replicates

 483 of 1000 bootstrap replicates

 484 of 1000 bootstrap replicates

 485 of 1000 bootstrap replicates

 486 of 1000 bootstrap replicates

 487 of 1000 bootstrap replicates

 488 of 1000 bootstrap replicates

 489 of 1000 bootstrap replicates

 490 of 1000 bootstrap replicates

 491 of 1000 bootstrap replicates

 492 of 1000 bootstrap replicates

 493 of 1000 bootstrap replicates

 494 of 1000 bootstrap replicates

 495 of 1000 bootstrap replicates

 496 of 1000 bootstrap replicates

 497 of 1000 bootstrap replicates

 498 of 1000 bootstrap replicates

 499 of 1000 bootstrap replicates

 500 of 1000 bootstrap replicates

 501 of 1000 bootstrap replicates

 502 of 1000 bootstrap replicates

 503 of 1000 bootstrap replicates

 504 of 1000 bootstrap replicates

 505 of 1000 bootstrap replicates

 506 of 1000 bootstrap replicates

 507 of 1000 bootstrap replicates

 508 of 1000 bootstrap replicates

 509 of 1000 bootstrap replicates

 510 of 1000 bootstrap replicates

 511 of 1000 bootstrap replicates

 512 of 1000 bootstrap replicates

 513 of 1000 bootstrap replicates

 514 of 1000 bootstrap replicates

 515 of 1000 bootstrap replicates

 516 of 1000 bootstrap replicates

 517 of 1000 bootstrap replicates

 518 of 1000 bootstrap replicates

 519 of 1000 bootstrap replicates

 520 of 1000 bootstrap replicates

 521 of 1000 bootstrap replicates

 522 of 1000 bootstrap replicates

 523 of 1000 bootstrap replicates

 524 of 1000 bootstrap replicates

 525 of 1000 bootstrap replicates

 526 of 1000 bootstrap replicates

 527 of 1000 bootstrap replicates

 528 of 1000 bootstrap replicates

 529 of 1000 bootstrap replicates

 530 of 1000 bootstrap replicates

 531 of 1000 bootstrap replicates

 532 of 1000 bootstrap replicates

 533 of 1000 bootstrap replicates

 534 of 1000 bootstrap replicates

 535 of 1000 bootstrap replicates

 536 of 1000 bootstrap replicates

 537 of 1000 bootstrap replicates

 538 of 1000 bootstrap replicates

 539 of 1000 bootstrap replicates

 540 of 1000 bootstrap replicates

 541 of 1000 bootstrap replicates

 542 of 1000 bootstrap replicates

 543 of 1000 bootstrap replicates

 544 of 1000 bootstrap replicates

 545 of 1000 bootstrap replicates

 546 of 1000 bootstrap replicates

 547 of 1000 bootstrap replicates

 548 of 1000 bootstrap replicates

 549 of 1000 bootstrap replicates

 550 of 1000 bootstrap replicates

 551 of 1000 bootstrap replicates

 552 of 1000 bootstrap replicates

 553 of 1000 bootstrap replicates

 554 of 1000 bootstrap replicates

 555 of 1000 bootstrap replicates

 556 of 1000 bootstrap replicates

 557 of 1000 bootstrap replicates

 558 of 1000 bootstrap replicates

 559 of 1000 bootstrap replicates

 560 of 1000 bootstrap replicates

 561 of 1000 bootstrap replicates

 562 of 1000 bootstrap replicates

 563 of 1000 bootstrap replicates

 564 of 1000 bootstrap replicates

 565 of 1000 bootstrap replicates

 566 of 1000 bootstrap replicates

 567 of 1000 bootstrap replicates

 568 of 1000 bootstrap replicates

 569 of 1000 bootstrap replicates

 570 of 1000 bootstrap replicates

 571 of 1000 bootstrap replicates

 572 of 1000 bootstrap replicates

 573 of 1000 bootstrap replicates

 574 of 1000 bootstrap replicates

 575 of 1000 bootstrap replicates

 576 of 1000 bootstrap replicates

 577 of 1000 bootstrap replicates

 578 of 1000 bootstrap replicates

 579 of 1000 bootstrap replicates

 580 of 1000 bootstrap replicates

 581 of 1000 bootstrap replicates

 582 of 1000 bootstrap replicates

 583 of 1000 bootstrap replicates

 584 of 1000 bootstrap replicates

 585 of 1000 bootstrap replicates

 586 of 1000 bootstrap replicates

 587 of 1000 bootstrap replicates

 588 of 1000 bootstrap replicates

 589 of 1000 bootstrap replicates

 590 of 1000 bootstrap replicates

 591 of 1000 bootstrap replicates

 592 of 1000 bootstrap replicates

 593 of 1000 bootstrap replicates

 594 of 1000 bootstrap replicates

 595 of 1000 bootstrap replicates

 596 of 1000 bootstrap replicates

 597 of 1000 bootstrap replicates

 598 of 1000 bootstrap replicates

 599 of 1000 bootstrap replicates

 600 of 1000 bootstrap replicates

 601 of 1000 bootstrap replicates

 602 of 1000 bootstrap replicates

 603 of 1000 bootstrap replicates

 604 of 1000 bootstrap replicates

 605 of 1000 bootstrap replicates

 606 of 1000 bootstrap replicates

 607 of 1000 bootstrap replicates

 608 of 1000 bootstrap replicates

 609 of 1000 bootstrap replicates

 610 of 1000 bootstrap replicates

 611 of 1000 bootstrap replicates

 612 of 1000 bootstrap replicates

 613 of 1000 bootstrap replicates

 614 of 1000 bootstrap replicates

 615 of 1000 bootstrap replicates

 616 of 1000 bootstrap replicates

 617 of 1000 bootstrap replicates

 618 of 1000 bootstrap replicates

 619 of 1000 bootstrap replicates

 620 of 1000 bootstrap replicates

 621 of 1000 bootstrap replicates

 622 of 1000 bootstrap replicates

 623 of 1000 bootstrap replicates

 624 of 1000 bootstrap replicates

 625 of 1000 bootstrap replicates

 626 of 1000 bootstrap replicates

 627 of 1000 bootstrap replicates

 628 of 1000 bootstrap replicates

 629 of 1000 bootstrap replicates

 630 of 1000 bootstrap replicates

 631 of 1000 bootstrap replicates

 632 of 1000 bootstrap replicates

 633 of 1000 bootstrap replicates

 634 of 1000 bootstrap replicates

 635 of 1000 bootstrap replicates

 636 of 1000 bootstrap replicates

 637 of 1000 bootstrap replicates

 638 of 1000 bootstrap replicates

 639 of 1000 bootstrap replicates

 640 of 1000 bootstrap replicates

 641 of 1000 bootstrap replicates

 642 of 1000 bootstrap replicates

 643 of 1000 bootstrap replicates

 644 of 1000 bootstrap replicates

 645 of 1000 bootstrap replicates

 646 of 1000 bootstrap replicates

 647 of 1000 bootstrap replicates

 648 of 1000 bootstrap replicates

 649 of 1000 bootstrap replicates

 650 of 1000 bootstrap replicates

 651 of 1000 bootstrap replicates

 652 of 1000 bootstrap replicates

 653 of 1000 bootstrap replicates

 654 of 1000 bootstrap replicates

 655 of 1000 bootstrap replicates

 656 of 1000 bootstrap replicates

 657 of 1000 bootstrap replicates

 658 of 1000 bootstrap replicates

 659 of 1000 bootstrap replicates

 660 of 1000 bootstrap replicates

 661 of 1000 bootstrap replicates

 662 of 1000 bootstrap replicates

 663 of 1000 bootstrap replicates

 664 of 1000 bootstrap replicates

 665 of 1000 bootstrap replicates

 666 of 1000 bootstrap replicates

 667 of 1000 bootstrap replicates

 668 of 1000 bootstrap replicates

 669 of 1000 bootstrap replicates

 670 of 1000 bootstrap replicates

 671 of 1000 bootstrap replicates

 672 of 1000 bootstrap replicates

 673 of 1000 bootstrap replicates

 674 of 1000 bootstrap replicates

 675 of 1000 bootstrap replicates

 676 of 1000 bootstrap replicates

 677 of 1000 bootstrap replicates

 678 of 1000 bootstrap replicates

 679 of 1000 bootstrap replicates

 680 of 1000 bootstrap replicates

 681 of 1000 bootstrap replicates

 682 of 1000 bootstrap replicates

 683 of 1000 bootstrap replicates

 684 of 1000 bootstrap replicates

 685 of 1000 bootstrap replicates

 686 of 1000 bootstrap replicates

 687 of 1000 bootstrap replicates

 688 of 1000 bootstrap replicates

 689 of 1000 bootstrap replicates

 690 of 1000 bootstrap replicates

 691 of 1000 bootstrap replicates

 692 of 1000 bootstrap replicates

 693 of 1000 bootstrap replicates

 694 of 1000 bootstrap replicates

 695 of 1000 bootstrap replicates

 696 of 1000 bootstrap replicates

 697 of 1000 bootstrap replicates

 698 of 1000 bootstrap replicates

 699 of 1000 bootstrap replicates

 700 of 1000 bootstrap replicates

 701 of 1000 bootstrap replicates

 702 of 1000 bootstrap replicates

 703 of 1000 bootstrap replicates

 704 of 1000 bootstrap replicates

 705 of 1000 bootstrap replicates

 706 of 1000 bootstrap replicates

 707 of 1000 bootstrap replicates

 708 of 1000 bootstrap replicates

 709 of 1000 bootstrap replicates

 710 of 1000 bootstrap replicates

 711 of 1000 bootstrap replicates

 712 of 1000 bootstrap replicates

 713 of 1000 bootstrap replicates

 714 of 1000 bootstrap replicates

 715 of 1000 bootstrap replicates

 716 of 1000 bootstrap replicates

 717 of 1000 bootstrap replicates

 718 of 1000 bootstrap replicates

 719 of 1000 bootstrap replicates

 720 of 1000 bootstrap replicates

 721 of 1000 bootstrap replicates

 722 of 1000 bootstrap replicates

 723 of 1000 bootstrap replicates

 724 of 1000 bootstrap replicates

 725 of 1000 bootstrap replicates

 726 of 1000 bootstrap replicates

 727 of 1000 bootstrap replicates

 728 of 1000 bootstrap replicates

 729 of 1000 bootstrap replicates

 730 of 1000 bootstrap replicates

 731 of 1000 bootstrap replicates

 732 of 1000 bootstrap replicates

 733 of 1000 bootstrap replicates

 734 of 1000 bootstrap replicates

 735 of 1000 bootstrap replicates

 736 of 1000 bootstrap replicates

 737 of 1000 bootstrap replicates

 738 of 1000 bootstrap replicates

 739 of 1000 bootstrap replicates

 740 of 1000 bootstrap replicates

 741 of 1000 bootstrap replicates

 742 of 1000 bootstrap replicates

 743 of 1000 bootstrap replicates

 744 of 1000 bootstrap replicates

 745 of 1000 bootstrap replicates

 746 of 1000 bootstrap replicates

 747 of 1000 bootstrap replicates

 748 of 1000 bootstrap replicates

 749 of 1000 bootstrap replicates

 750 of 1000 bootstrap replicates

 751 of 1000 bootstrap replicates

 752 of 1000 bootstrap replicates

 753 of 1000 bootstrap replicates

 754 of 1000 bootstrap replicates

 755 of 1000 bootstrap replicates

 756 of 1000 bootstrap replicates

 757 of 1000 bootstrap replicates

 758 of 1000 bootstrap replicates

 759 of 1000 bootstrap replicates

 760 of 1000 bootstrap replicates

 761 of 1000 bootstrap replicates

 762 of 1000 bootstrap replicates

 763 of 1000 bootstrap replicates

 764 of 1000 bootstrap replicates

 765 of 1000 bootstrap replicates

 766 of 1000 bootstrap replicates

 767 of 1000 bootstrap replicates

 768 of 1000 bootstrap replicates

 769 of 1000 bootstrap replicates

 770 of 1000 bootstrap replicates

 771 of 1000 bootstrap replicates

 772 of 1000 bootstrap replicates

 773 of 1000 bootstrap replicates

 774 of 1000 bootstrap replicates

 775 of 1000 bootstrap replicates

 776 of 1000 bootstrap replicates

 777 of 1000 bootstrap replicates

 778 of 1000 bootstrap replicates

 779 of 1000 bootstrap replicates

 780 of 1000 bootstrap replicates

 781 of 1000 bootstrap replicates

 782 of 1000 bootstrap replicates

 783 of 1000 bootstrap replicates

 784 of 1000 bootstrap replicates

 785 of 1000 bootstrap replicates

 786 of 1000 bootstrap replicates

 787 of 1000 bootstrap replicates

 788 of 1000 bootstrap replicates

 789 of 1000 bootstrap replicates

 790 of 1000 bootstrap replicates

 791 of 1000 bootstrap replicates

 792 of 1000 bootstrap replicates

 793 of 1000 bootstrap replicates

 794 of 1000 bootstrap replicates

 795 of 1000 bootstrap replicates

 796 of 1000 bootstrap replicates

 797 of 1000 bootstrap replicates

 798 of 1000 bootstrap replicates

 799 of 1000 bootstrap replicates

 800 of 1000 bootstrap replicates

 801 of 1000 bootstrap replicates

 802 of 1000 bootstrap replicates

 803 of 1000 bootstrap replicates

 804 of 1000 bootstrap replicates

 805 of 1000 bootstrap replicates

 806 of 1000 bootstrap replicates

 807 of 1000 bootstrap replicates

 808 of 1000 bootstrap replicates

 809 of 1000 bootstrap replicates

 810 of 1000 bootstrap replicates

 811 of 1000 bootstrap replicates

 812 of 1000 bootstrap replicates

 813 of 1000 bootstrap replicates

 814 of 1000 bootstrap replicates

 815 of 1000 bootstrap replicates

 816 of 1000 bootstrap replicates

 817 of 1000 bootstrap replicates

 818 of 1000 bootstrap replicates

 819 of 1000 bootstrap replicates

 820 of 1000 bootstrap replicates

 821 of 1000 bootstrap replicates

 822 of 1000 bootstrap replicates

 823 of 1000 bootstrap replicates

 824 of 1000 bootstrap replicates

 825 of 1000 bootstrap replicates

 826 of 1000 bootstrap replicates

 827 of 1000 bootstrap replicates

 828 of 1000 bootstrap replicates

 829 of 1000 bootstrap replicates

 830 of 1000 bootstrap replicates

 831 of 1000 bootstrap replicates

 832 of 1000 bootstrap replicates

 833 of 1000 bootstrap replicates

 834 of 1000 bootstrap replicates

 835 of 1000 bootstrap replicates

 836 of 1000 bootstrap replicates

 837 of 1000 bootstrap replicates

 838 of 1000 bootstrap replicates

 839 of 1000 bootstrap replicates

 840 of 1000 bootstrap replicates

 841 of 1000 bootstrap replicates

 842 of 1000 bootstrap replicates

 843 of 1000 bootstrap replicates

 844 of 1000 bootstrap replicates

 845 of 1000 bootstrap replicates

 846 of 1000 bootstrap replicates

 847 of 1000 bootstrap replicates

 848 of 1000 bootstrap replicates

 849 of 1000 bootstrap replicates

 850 of 1000 bootstrap replicates

 851 of 1000 bootstrap replicates

 852 of 1000 bootstrap replicates

 853 of 1000 bootstrap replicates

 854 of 1000 bootstrap replicates

 855 of 1000 bootstrap replicates

 856 of 1000 bootstrap replicates

 857 of 1000 bootstrap replicates

 858 of 1000 bootstrap replicates

 859 of 1000 bootstrap replicates

 860 of 1000 bootstrap replicates

 861 of 1000 bootstrap replicates

 862 of 1000 bootstrap replicates

 863 of 1000 bootstrap replicates

 864 of 1000 bootstrap replicates

 865 of 1000 bootstrap replicates

 866 of 1000 bootstrap replicates

 867 of 1000 bootstrap replicates

 868 of 1000 bootstrap replicates

 869 of 1000 bootstrap replicates

 870 of 1000 bootstrap replicates

 871 of 1000 bootstrap replicates

 872 of 1000 bootstrap replicates

 873 of 1000 bootstrap replicates

 874 of 1000 bootstrap replicates

 875 of 1000 bootstrap replicates

 876 of 1000 bootstrap replicates

 877 of 1000 bootstrap replicates

 878 of 1000 bootstrap replicates

 879 of 1000 bootstrap replicates

 880 of 1000 bootstrap replicates

 881 of 1000 bootstrap replicates

 882 of 1000 bootstrap replicates

 883 of 1000 bootstrap replicates

 884 of 1000 bootstrap replicates

 885 of 1000 bootstrap replicates

 886 of 1000 bootstrap replicates

 887 of 1000 bootstrap replicates

 888 of 1000 bootstrap replicates

 889 of 1000 bootstrap replicates

 890 of 1000 bootstrap replicates

 891 of 1000 bootstrap replicates

 892 of 1000 bootstrap replicates

 893 of 1000 bootstrap replicates

 894 of 1000 bootstrap replicates

 895 of 1000 bootstrap replicates

 896 of 1000 bootstrap replicates

 897 of 1000 bootstrap replicates

 898 of 1000 bootstrap replicates

 899 of 1000 bootstrap replicates

 900 of 1000 bootstrap replicates

 901 of 1000 bootstrap replicates

 902 of 1000 bootstrap replicates

 903 of 1000 bootstrap replicates

 904 of 1000 bootstrap replicates

 905 of 1000 bootstrap replicates

 906 of 1000 bootstrap replicates

 907 of 1000 bootstrap replicates

 908 of 1000 bootstrap replicates

 909 of 1000 bootstrap replicates

 910 of 1000 bootstrap replicates

 911 of 1000 bootstrap replicates

 912 of 1000 bootstrap replicates

 913 of 1000 bootstrap replicates

 914 of 1000 bootstrap replicates

 915 of 1000 bootstrap replicates

 916 of 1000 bootstrap replicates

 917 of 1000 bootstrap replicates

 918 of 1000 bootstrap replicates

 919 of 1000 bootstrap replicates

 920 of 1000 bootstrap replicates

 921 of 1000 bootstrap replicates

 922 of 1000 bootstrap replicates

 923 of 1000 bootstrap replicates

 924 of 1000 bootstrap replicates

 925 of 1000 bootstrap replicates

 926 of 1000 bootstrap replicates

 927 of 1000 bootstrap replicates

 928 of 1000 bootstrap replicates

 929 of 1000 bootstrap replicates

 930 of 1000 bootstrap replicates

 931 of 1000 bootstrap replicates

 932 of 1000 bootstrap replicates

 933 of 1000 bootstrap replicates

 934 of 1000 bootstrap replicates

 935 of 1000 bootstrap replicates

 936 of 1000 bootstrap replicates

 937 of 1000 bootstrap replicates

 938 of 1000 bootstrap replicates

 939 of 1000 bootstrap replicates

 940 of 1000 bootstrap replicates

 941 of 1000 bootstrap replicates

 942 of 1000 bootstrap replicates

 943 of 1000 bootstrap replicates

 944 of 1000 bootstrap replicates

 945 of 1000 bootstrap replicates

 946 of 1000 bootstrap replicates

 947 of 1000 bootstrap replicates

 948 of 1000 bootstrap replicates

 949 of 1000 bootstrap replicates

 950 of 1000 bootstrap replicates

 951 of 1000 bootstrap replicates

 952 of 1000 bootstrap replicates

 953 of 1000 bootstrap replicates

 954 of 1000 bootstrap replicates

 955 of 1000 bootstrap replicates

 956 of 1000 bootstrap replicates

 957 of 1000 bootstrap replicates

 958 of 1000 bootstrap replicates

 959 of 1000 bootstrap replicates

 960 of 1000 bootstrap replicates

 961 of 1000 bootstrap replicates

 962 of 1000 bootstrap replicates

 963 of 1000 bootstrap replicates

 964 of 1000 bootstrap replicates

 965 of 1000 bootstrap replicates

 966 of 1000 bootstrap replicates

 967 of 1000 bootstrap replicates

 968 of 1000 bootstrap replicates

 969 of 1000 bootstrap replicates

 970 of 1000 bootstrap replicates

 971 of 1000 bootstrap replicates

 972 of 1000 bootstrap replicates

 973 of 1000 bootstrap replicates

 974 of 1000 bootstrap replicates

 975 of 1000 bootstrap replicates

 976 of 1000 bootstrap replicates

 977 of 1000 bootstrap replicates

 978 of 1000 bootstrap replicates

 979 of 1000 bootstrap replicates

 980 of 1000 bootstrap replicates

 981 of 1000 bootstrap replicates

 982 of 1000 bootstrap replicates

 983 of 1000 bootstrap replicates

 984 of 1000 bootstrap replicates

 985 of 1000 bootstrap replicates

 986 of 1000 bootstrap replicates

 987 of 1000 bootstrap replicates

 988 of 1000 bootstrap replicates

 989 of 1000 bootstrap replicates

 990 of 1000 bootstrap replicates

 991 of 1000 bootstrap replicates

 992 of 1000 bootstrap replicates

 993 of 1000 bootstrap replicates

 994 of 1000 bootstrap replicates

 995 of 1000 bootstrap replicates

 996 of 1000 bootstrap replicates

 997 of 1000 bootstrap replicates

 998 of 1000 bootstrap replicates

 999 of 1000 bootstrap replicates

 1000 of 1000 bootstrap replicates
Calculating confidence intervals of empirical statistics... Please wait

Sampling random permutations... Please wait

 1 of 1000 random permutations                                                 

 2 of 1000 random permutations                                                 

 3 of 1000 random permutations                                                 

 4 of 1000 random permutations                                                 

 5 of 1000 random permutations                                                 

 6 of 1000 random permutations                                                 

 7 of 1000 random permutations                                                 

 8 of 1000 random permutations                                                 

 9 of 1000 random permutations                                                 

 10 of 1000 random permutations                                                 

 11 of 1000 random permutations                                                 

 12 of 1000 random permutations                                                 

 13 of 1000 random permutations                                                 

 14 of 1000 random permutations                                                 

 15 of 1000 random permutations                                                 

 16 of 1000 random permutations                                                 

 17 of 1000 random permutations                                                 

 18 of 1000 random permutations                                                 

 19 of 1000 random permutations                                                 

 20 of 1000 random permutations                                                 

 21 of 1000 random permutations                                                 

 22 of 1000 random permutations                                                 

 23 of 1000 random permutations                                                 

 24 of 1000 random permutations                                                 

 25 of 1000 random permutations                                                 

 26 of 1000 random permutations                                                 

 27 of 1000 random permutations                                                 

 28 of 1000 random permutations                                                 

 29 of 1000 random permutations                                                 

 30 of 1000 random permutations                                                 

 31 of 1000 random permutations                                                 

 32 of 1000 random permutations                                                 

 33 of 1000 random permutations                                                 

 34 of 1000 random permutations                                                 

 35 of 1000 random permutations                                                 

 36 of 1000 random permutations                                                 

 37 of 1000 random permutations                                                 

 38 of 1000 random permutations                                                 

 39 of 1000 random permutations                                                 

 40 of 1000 random permutations                                                 

 41 of 1000 random permutations                                                 

 42 of 1000 random permutations                                                 

 43 of 1000 random permutations                                                 

 44 of 1000 random permutations                                                 

 45 of 1000 random permutations                                                 

 46 of 1000 random permutations                                                 

 47 of 1000 random permutations                                                 

 48 of 1000 random permutations                                                 

 49 of 1000 random permutations                                                 

 50 of 1000 random permutations                                                 

 51 of 1000 random permutations                                                 

 52 of 1000 random permutations                                                 

 53 of 1000 random permutations                                                 

 54 of 1000 random permutations                                                 

 55 of 1000 random permutations                                                 

 56 of 1000 random permutations                                                 

 57 of 1000 random permutations                                                 

 58 of 1000 random permutations                                                 

 59 of 1000 random permutations                                                 

 60 of 1000 random permutations                                                 

 61 of 1000 random permutations                                                 

 62 of 1000 random permutations                                                 

 63 of 1000 random permutations                                                 

 64 of 1000 random permutations                                                 

 65 of 1000 random permutations                                                 

 66 of 1000 random permutations                                                 

 67 of 1000 random permutations                                                 

 68 of 1000 random permutations                                                 

 69 of 1000 random permutations                                                 

 70 of 1000 random permutations                                                 

 71 of 1000 random permutations                                                 

 72 of 1000 random permutations                                                 

 73 of 1000 random permutations                                                 

 74 of 1000 random permutations                                                 

 75 of 1000 random permutations                                                 

 76 of 1000 random permutations                                                 

 77 of 1000 random permutations                                                 

 78 of 1000 random permutations                                                 

 79 of 1000 random permutations                                                 

 80 of 1000 random permutations                                                 

 81 of 1000 random permutations                                                 

 82 of 1000 random permutations                                                 

 83 of 1000 random permutations                                                 

 84 of 1000 random permutations                                                 

 85 of 1000 random permutations                                                 

 86 of 1000 random permutations                                                 

 87 of 1000 random permutations                                                 

 88 of 1000 random permutations                                                 

 89 of 1000 random permutations                                                 

 90 of 1000 random permutations                                                 

 91 of 1000 random permutations                                                 

 92 of 1000 random permutations                                                 

 93 of 1000 random permutations                                                 

 94 of 1000 random permutations                                                 

 95 of 1000 random permutations                                                 

 96 of 1000 random permutations                                                 

 97 of 1000 random permutations                                                 

 98 of 1000 random permutations                                                 

 99 of 1000 random permutations                                                 

 100 of 1000 random permutations                                                 

 101 of 1000 random permutations                                                 

 102 of 1000 random permutations                                                 

 103 of 1000 random permutations                                                 

 104 of 1000 random permutations                                                 

 105 of 1000 random permutations                                                 

 106 of 1000 random permutations                                                 

 107 of 1000 random permutations                                                 

 108 of 1000 random permutations                                                 

 109 of 1000 random permutations                                                 

 110 of 1000 random permutations                                                 

 111 of 1000 random permutations                                                 

 112 of 1000 random permutations                                                 

 113 of 1000 random permutations                                                 

 114 of 1000 random permutations                                                 

 115 of 1000 random permutations                                                 

 116 of 1000 random permutations                                                 

 117 of 1000 random permutations                                                 

 118 of 1000 random permutations                                                 

 119 of 1000 random permutations                                                 

 120 of 1000 random permutations                                                 

 121 of 1000 random permutations                                                 

 122 of 1000 random permutations                                                 

 123 of 1000 random permutations                                                 

 124 of 1000 random permutations                                                 

 125 of 1000 random permutations                                                 

 126 of 1000 random permutations                                                 

 127 of 1000 random permutations                                                 

 128 of 1000 random permutations                                                 

 129 of 1000 random permutations                                                 

 130 of 1000 random permutations                                                 

 131 of 1000 random permutations                                                 

 132 of 1000 random permutations                                                 

 133 of 1000 random permutations                                                 

 134 of 1000 random permutations                                                 

 135 of 1000 random permutations                                                 

 136 of 1000 random permutations                                                 

 137 of 1000 random permutations                                                 

 138 of 1000 random permutations                                                 

 139 of 1000 random permutations                                                 

 140 of 1000 random permutations                                                 

 141 of 1000 random permutations                                                 

 142 of 1000 random permutations                                                 

 143 of 1000 random permutations                                                 

 144 of 1000 random permutations                                                 

 145 of 1000 random permutations                                                 

 146 of 1000 random permutations                                                 

 147 of 1000 random permutations                                                 

 148 of 1000 random permutations                                                 

 149 of 1000 random permutations                                                 

 150 of 1000 random permutations                                                 

 151 of 1000 random permutations                                                 

 152 of 1000 random permutations                                                 

 153 of 1000 random permutations                                                 

 154 of 1000 random permutations                                                 

 155 of 1000 random permutations                                                 

 156 of 1000 random permutations                                                 

 157 of 1000 random permutations                                                 

 158 of 1000 random permutations                                                 

 159 of 1000 random permutations                                                 

 160 of 1000 random permutations                                                 

 161 of 1000 random permutations                                                 

 162 of 1000 random permutations                                                 

 163 of 1000 random permutations                                                 

 164 of 1000 random permutations                                                 

 165 of 1000 random permutations                                                 

 166 of 1000 random permutations                                                 

 167 of 1000 random permutations                                                 

 168 of 1000 random permutations                                                 

 169 of 1000 random permutations                                                 

 170 of 1000 random permutations                                                 

 171 of 1000 random permutations                                                 

 172 of 1000 random permutations                                                 

 173 of 1000 random permutations                                                 

 174 of 1000 random permutations                                                 

 175 of 1000 random permutations                                                 

 176 of 1000 random permutations                                                 

 177 of 1000 random permutations                                                 

 178 of 1000 random permutations                                                 

 179 of 1000 random permutations                                                 

 180 of 1000 random permutations                                                 

 181 of 1000 random permutations                                                 

 182 of 1000 random permutations                                                 

 183 of 1000 random permutations                                                 

 184 of 1000 random permutations                                                 

 185 of 1000 random permutations                                                 

 186 of 1000 random permutations                                                 

 187 of 1000 random permutations                                                 

 188 of 1000 random permutations                                                 

 189 of 1000 random permutations                                                 

 190 of 1000 random permutations                                                 

 191 of 1000 random permutations                                                 

 192 of 1000 random permutations                                                 

 193 of 1000 random permutations                                                 

 194 of 1000 random permutations                                                 

 195 of 1000 random permutations                                                 

 196 of 1000 random permutations                                                 

 197 of 1000 random permutations                                                 

 198 of 1000 random permutations                                                 

 199 of 1000 random permutations                                                 

 200 of 1000 random permutations                                                 

 201 of 1000 random permutations                                                 

 202 of 1000 random permutations                                                 

 203 of 1000 random permutations                                                 

 204 of 1000 random permutations                                                 

 205 of 1000 random permutations                                                 

 206 of 1000 random permutations                                                 

 207 of 1000 random permutations                                                 

 208 of 1000 random permutations                                                 

 209 of 1000 random permutations                                                 

 210 of 1000 random permutations                                                 

 211 of 1000 random permutations                                                 

 212 of 1000 random permutations                                                 

 213 of 1000 random permutations                                                 

 214 of 1000 random permutations                                                 

 215 of 1000 random permutations                                                 

 216 of 1000 random permutations                                                 

 217 of 1000 random permutations                                                 

 218 of 1000 random permutations                                                 

 219 of 1000 random permutations                                                 

 220 of 1000 random permutations                                                 

 221 of 1000 random permutations                                                 

 222 of 1000 random permutations                                                 

 223 of 1000 random permutations                                                 

 224 of 1000 random permutations                                                 

 225 of 1000 random permutations                                                 

 226 of 1000 random permutations                                                 

 227 of 1000 random permutations                                                 

 228 of 1000 random permutations                                                 

 229 of 1000 random permutations                                                 

 230 of 1000 random permutations                                                 

 231 of 1000 random permutations                                                 

 232 of 1000 random permutations                                                 

 233 of 1000 random permutations                                                 

 234 of 1000 random permutations                                                 

 235 of 1000 random permutations                                                 

 236 of 1000 random permutations                                                 

 237 of 1000 random permutations                                                 

 238 of 1000 random permutations                                                 

 239 of 1000 random permutations                                                 

 240 of 1000 random permutations                                                 

 241 of 1000 random permutations                                                 

 242 of 1000 random permutations                                                 

 243 of 1000 random permutations                                                 

 244 of 1000 random permutations                                                 

 245 of 1000 random permutations                                                 

 246 of 1000 random permutations                                                 

 247 of 1000 random permutations                                                 

 248 of 1000 random permutations                                                 

 249 of 1000 random permutations                                                 

 250 of 1000 random permutations                                                 

 251 of 1000 random permutations                                                 

 252 of 1000 random permutations                                                 

 253 of 1000 random permutations                                                 

 254 of 1000 random permutations                                                 

 255 of 1000 random permutations                                                 

 256 of 1000 random permutations                                                 

 257 of 1000 random permutations                                                 

 258 of 1000 random permutations                                                 

 259 of 1000 random permutations                                                 

 260 of 1000 random permutations                                                 

 261 of 1000 random permutations                                                 

 262 of 1000 random permutations                                                 

 263 of 1000 random permutations                                                 

 264 of 1000 random permutations                                                 

 265 of 1000 random permutations                                                 

 266 of 1000 random permutations                                                 

 267 of 1000 random permutations                                                 

 268 of 1000 random permutations                                                 

 269 of 1000 random permutations                                                 

 270 of 1000 random permutations                                                 

 271 of 1000 random permutations                                                 

 272 of 1000 random permutations                                                 

 273 of 1000 random permutations                                                 

 274 of 1000 random permutations                                                 

 275 of 1000 random permutations                                                 

 276 of 1000 random permutations                                                 

 277 of 1000 random permutations                                                 

 278 of 1000 random permutations                                                 

 279 of 1000 random permutations                                                 

 280 of 1000 random permutations                                                 

 281 of 1000 random permutations                                                 

 282 of 1000 random permutations                                                 

 283 of 1000 random permutations                                                 

 284 of 1000 random permutations                                                 

 285 of 1000 random permutations                                                 

 286 of 1000 random permutations                                                 

 287 of 1000 random permutations                                                 

 288 of 1000 random permutations                                                 

 289 of 1000 random permutations                                                 

 290 of 1000 random permutations                                                 

 291 of 1000 random permutations                                                 

 292 of 1000 random permutations                                                 

 293 of 1000 random permutations                                                 

 294 of 1000 random permutations                                                 

 295 of 1000 random permutations                                                 

 296 of 1000 random permutations                                                 

 297 of 1000 random permutations                                                 

 298 of 1000 random permutations                                                 

 299 of 1000 random permutations                                                 

 300 of 1000 random permutations                                                 

 301 of 1000 random permutations                                                 

 302 of 1000 random permutations                                                 

 303 of 1000 random permutations                                                 

 304 of 1000 random permutations                                                 

 305 of 1000 random permutations                                                 

 306 of 1000 random permutations                                                 

 307 of 1000 random permutations                                                 

 308 of 1000 random permutations                                                 

 309 of 1000 random permutations                                                 

 310 of 1000 random permutations                                                 

 311 of 1000 random permutations                                                 

 312 of 1000 random permutations                                                 

 313 of 1000 random permutations                                                 

 314 of 1000 random permutations                                                 

 315 of 1000 random permutations                                                 

 316 of 1000 random permutations                                                 

 317 of 1000 random permutations                                                 

 318 of 1000 random permutations                                                 

 319 of 1000 random permutations                                                 

 320 of 1000 random permutations                                                 

 321 of 1000 random permutations                                                 

 322 of 1000 random permutations                                                 

 323 of 1000 random permutations                                                 

 324 of 1000 random permutations                                                 

 325 of 1000 random permutations                                                 

 326 of 1000 random permutations                                                 

 327 of 1000 random permutations                                                 

 328 of 1000 random permutations                                                 

 329 of 1000 random permutations                                                 

 330 of 1000 random permutations                                                 

 331 of 1000 random permutations                                                 

 332 of 1000 random permutations                                                 

 333 of 1000 random permutations                                                 

 334 of 1000 random permutations                                                 

 335 of 1000 random permutations                                                 

 336 of 1000 random permutations                                                 

 337 of 1000 random permutations                                                 

 338 of 1000 random permutations                                                 

 339 of 1000 random permutations                                                 

 340 of 1000 random permutations                                                 

 341 of 1000 random permutations                                                 

 342 of 1000 random permutations                                                 

 343 of 1000 random permutations                                                 

 344 of 1000 random permutations                                                 

 345 of 1000 random permutations                                                 

 346 of 1000 random permutations                                                 

 347 of 1000 random permutations                                                 

 348 of 1000 random permutations                                                 

 349 of 1000 random permutations                                                 

 350 of 1000 random permutations                                                 

 351 of 1000 random permutations                                                 

 352 of 1000 random permutations                                                 

 353 of 1000 random permutations                                                 

 354 of 1000 random permutations                                                 

 355 of 1000 random permutations                                                 

 356 of 1000 random permutations                                                 

 357 of 1000 random permutations                                                 

 358 of 1000 random permutations                                                 

 359 of 1000 random permutations                                                 

 360 of 1000 random permutations                                                 

 361 of 1000 random permutations                                                 

 362 of 1000 random permutations                                                 

 363 of 1000 random permutations                                                 

 364 of 1000 random permutations                                                 

 365 of 1000 random permutations                                                 

 366 of 1000 random permutations                                                 

 367 of 1000 random permutations                                                 

 368 of 1000 random permutations                                                 

 369 of 1000 random permutations                                                 

 370 of 1000 random permutations                                                 

 371 of 1000 random permutations                                                 

 372 of 1000 random permutations                                                 

 373 of 1000 random permutations                                                 

 374 of 1000 random permutations                                                 

 375 of 1000 random permutations                                                 

 376 of 1000 random permutations                                                 

 377 of 1000 random permutations                                                 

 378 of 1000 random permutations                                                 

 379 of 1000 random permutations                                                 

 380 of 1000 random permutations                                                 

 381 of 1000 random permutations                                                 

 382 of 1000 random permutations                                                 

 383 of 1000 random permutations                                                 

 384 of 1000 random permutations                                                 

 385 of 1000 random permutations                                                 

 386 of 1000 random permutations                                                 

 387 of 1000 random permutations                                                 

 388 of 1000 random permutations                                                 

 389 of 1000 random permutations                                                 

 390 of 1000 random permutations                                                 

 391 of 1000 random permutations                                                 

 392 of 1000 random permutations                                                 

 393 of 1000 random permutations                                                 

 394 of 1000 random permutations                                                 

 395 of 1000 random permutations                                                 

 396 of 1000 random permutations                                                 

 397 of 1000 random permutations                                                 

 398 of 1000 random permutations                                                 

 399 of 1000 random permutations                                                 

 400 of 1000 random permutations                                                 

 401 of 1000 random permutations                                                 

 402 of 1000 random permutations                                                 

 403 of 1000 random permutations                                                 

 404 of 1000 random permutations                                                 

 405 of 1000 random permutations                                                 

 406 of 1000 random permutations                                                 

 407 of 1000 random permutations                                                 

 408 of 1000 random permutations                                                 

 409 of 1000 random permutations                                                 

 410 of 1000 random permutations                                                 

 411 of 1000 random permutations                                                 

 412 of 1000 random permutations                                                 

 413 of 1000 random permutations                                                 

 414 of 1000 random permutations                                                 

 415 of 1000 random permutations                                                 

 416 of 1000 random permutations                                                 

 417 of 1000 random permutations                                                 

 418 of 1000 random permutations                                                 

 419 of 1000 random permutations                                                 

 420 of 1000 random permutations                                                 

 421 of 1000 random permutations                                                 

 422 of 1000 random permutations                                                 

 423 of 1000 random permutations                                                 

 424 of 1000 random permutations                                                 

 425 of 1000 random permutations                                                 

 426 of 1000 random permutations                                                 

 427 of 1000 random permutations                                                 

 428 of 1000 random permutations                                                 

 429 of 1000 random permutations                                                 

 430 of 1000 random permutations                                                 

 431 of 1000 random permutations                                                 

 432 of 1000 random permutations                                                 

 433 of 1000 random permutations                                                 

 434 of 1000 random permutations                                                 

 435 of 1000 random permutations                                                 

 436 of 1000 random permutations                                                 

 437 of 1000 random permutations                                                 

 438 of 1000 random permutations                                                 

 439 of 1000 random permutations                                                 

 440 of 1000 random permutations                                                 

 441 of 1000 random permutations                                                 

 442 of 1000 random permutations                                                 

 443 of 1000 random permutations                                                 

 444 of 1000 random permutations                                                 

 445 of 1000 random permutations                                                 

 446 of 1000 random permutations                                                 

 447 of 1000 random permutations                                                 

 448 of 1000 random permutations                                                 

 449 of 1000 random permutations                                                 

 450 of 1000 random permutations                                                 

 451 of 1000 random permutations                                                 

 452 of 1000 random permutations                                                 

 453 of 1000 random permutations                                                 

 454 of 1000 random permutations                                                 

 455 of 1000 random permutations                                                 

 456 of 1000 random permutations                                                 

 457 of 1000 random permutations                                                 

 458 of 1000 random permutations                                                 

 459 of 1000 random permutations                                                 

 460 of 1000 random permutations                                                 

 461 of 1000 random permutations                                                 

 462 of 1000 random permutations                                                 

 463 of 1000 random permutations                                                 

 464 of 1000 random permutations                                                 

 465 of 1000 random permutations                                                 

 466 of 1000 random permutations                                                 

 467 of 1000 random permutations                                                 

 468 of 1000 random permutations                                                 

 469 of 1000 random permutations                                                 

 470 of 1000 random permutations                                                 

 471 of 1000 random permutations                                                 

 472 of 1000 random permutations                                                 

 473 of 1000 random permutations                                                 

 474 of 1000 random permutations                                                 

 475 of 1000 random permutations                                                 

 476 of 1000 random permutations                                                 

 477 of 1000 random permutations                                                 

 478 of 1000 random permutations                                                 

 479 of 1000 random permutations                                                 

 480 of 1000 random permutations                                                 

 481 of 1000 random permutations                                                 

 482 of 1000 random permutations                                                 

 483 of 1000 random permutations                                                 

 484 of 1000 random permutations                                                 

 485 of 1000 random permutations                                                 

 486 of 1000 random permutations                                                 

 487 of 1000 random permutations                                                 

 488 of 1000 random permutations                                                 

 489 of 1000 random permutations                                                 

 490 of 1000 random permutations                                                 

 491 of 1000 random permutations                                                 

 492 of 1000 random permutations                                                 

 493 of 1000 random permutations                                                 

 494 of 1000 random permutations                                                 

 495 of 1000 random permutations                                                 

 496 of 1000 random permutations                                                 

 497 of 1000 random permutations                                                 

 498 of 1000 random permutations                                                 

 499 of 1000 random permutations                                                 

 500 of 1000 random permutations                                                 

 501 of 1000 random permutations                                                 

 502 of 1000 random permutations                                                 

 503 of 1000 random permutations                                                 

 504 of 1000 random permutations                                                 

 505 of 1000 random permutations                                                 

 506 of 1000 random permutations                                                 

 507 of 1000 random permutations                                                 

 508 of 1000 random permutations                                                 

 509 of 1000 random permutations                                                 

 510 of 1000 random permutations                                                 

 511 of 1000 random permutations                                                 

 512 of 1000 random permutations                                                 

 513 of 1000 random permutations                                                 

 514 of 1000 random permutations                                                 

 515 of 1000 random permutations                                                 

 516 of 1000 random permutations                                                 

 517 of 1000 random permutations                                                 

 518 of 1000 random permutations                                                 

 519 of 1000 random permutations                                                 

 520 of 1000 random permutations                                                 

 521 of 1000 random permutations                                                 

 522 of 1000 random permutations                                                 

 523 of 1000 random permutations                                                 

 524 of 1000 random permutations                                                 

 525 of 1000 random permutations                                                 

 526 of 1000 random permutations                                                 

 527 of 1000 random permutations                                                 

 528 of 1000 random permutations                                                 

 529 of 1000 random permutations                                                 

 530 of 1000 random permutations                                                 

 531 of 1000 random permutations                                                 

 532 of 1000 random permutations                                                 

 533 of 1000 random permutations                                                 

 534 of 1000 random permutations                                                 

 535 of 1000 random permutations                                                 

 536 of 1000 random permutations                                                 

 537 of 1000 random permutations                                                 

 538 of 1000 random permutations                                                 

 539 of 1000 random permutations                                                 

 540 of 1000 random permutations                                                 

 541 of 1000 random permutations                                                 

 542 of 1000 random permutations                                                 

 543 of 1000 random permutations                                                 

 544 of 1000 random permutations                                                 

 545 of 1000 random permutations                                                 

 546 of 1000 random permutations                                                 

 547 of 1000 random permutations                                                 

 548 of 1000 random permutations                                                 

 549 of 1000 random permutations                                                 

 550 of 1000 random permutations                                                 

 551 of 1000 random permutations                                                 

 552 of 1000 random permutations                                                 

 553 of 1000 random permutations                                                 

 554 of 1000 random permutations                                                 

 555 of 1000 random permutations                                                 

 556 of 1000 random permutations                                                 

 557 of 1000 random permutations                                                 

 558 of 1000 random permutations                                                 

 559 of 1000 random permutations                                                 

 560 of 1000 random permutations                                                 

 561 of 1000 random permutations                                                 

 562 of 1000 random permutations                                                 

 563 of 1000 random permutations                                                 

 564 of 1000 random permutations                                                 

 565 of 1000 random permutations                                                 

 566 of 1000 random permutations                                                 

 567 of 1000 random permutations                                                 

 568 of 1000 random permutations                                                 

 569 of 1000 random permutations                                                 

 570 of 1000 random permutations                                                 

 571 of 1000 random permutations                                                 

 572 of 1000 random permutations                                                 

 573 of 1000 random permutations                                                 

 574 of 1000 random permutations                                                 

 575 of 1000 random permutations                                                 

 576 of 1000 random permutations                                                 

 577 of 1000 random permutations                                                 

 578 of 1000 random permutations                                                 

 579 of 1000 random permutations                                                 

 580 of 1000 random permutations                                                 

 581 of 1000 random permutations                                                 

 582 of 1000 random permutations                                                 

 583 of 1000 random permutations                                                 

 584 of 1000 random permutations                                                 

 585 of 1000 random permutations                                                 

 586 of 1000 random permutations                                                 

 587 of 1000 random permutations                                                 

 588 of 1000 random permutations                                                 

 589 of 1000 random permutations                                                 

 590 of 1000 random permutations                                                 

 591 of 1000 random permutations                                                 

 592 of 1000 random permutations                                                 

 593 of 1000 random permutations                                                 

 594 of 1000 random permutations                                                 

 595 of 1000 random permutations                                                 

 596 of 1000 random permutations                                                 

 597 of 1000 random permutations                                                 

 598 of 1000 random permutations                                                 

 599 of 1000 random permutations                                                 

 600 of 1000 random permutations                                                 

 601 of 1000 random permutations                                                 

 602 of 1000 random permutations                                                 

 603 of 1000 random permutations                                                 

 604 of 1000 random permutations                                                 

 605 of 1000 random permutations                                                 

 606 of 1000 random permutations                                                 

 607 of 1000 random permutations                                                 

 608 of 1000 random permutations                                                 

 609 of 1000 random permutations                                                 

 610 of 1000 random permutations                                                 

 611 of 1000 random permutations                                                 

 612 of 1000 random permutations                                                 

 613 of 1000 random permutations                                                 

 614 of 1000 random permutations                                                 

 615 of 1000 random permutations                                                 

 616 of 1000 random permutations                                                 

 617 of 1000 random permutations                                                 

 618 of 1000 random permutations                                                 

 619 of 1000 random permutations                                                 

 620 of 1000 random permutations                                                 

 621 of 1000 random permutations                                                 

 622 of 1000 random permutations                                                 

 623 of 1000 random permutations                                                 

 624 of 1000 random permutations                                                 

 625 of 1000 random permutations                                                 

 626 of 1000 random permutations                                                 

 627 of 1000 random permutations                                                 

 628 of 1000 random permutations                                                 

 629 of 1000 random permutations                                                 

 630 of 1000 random permutations                                                 

 631 of 1000 random permutations                                                 

 632 of 1000 random permutations                                                 

 633 of 1000 random permutations                                                 

 634 of 1000 random permutations                                                 

 635 of 1000 random permutations                                                 

 636 of 1000 random permutations                                                 

 637 of 1000 random permutations                                                 

 638 of 1000 random permutations                                                 

 639 of 1000 random permutations                                                 

 640 of 1000 random permutations                                                 

 641 of 1000 random permutations                                                 

 642 of 1000 random permutations                                                 

 643 of 1000 random permutations                                                 

 644 of 1000 random permutations                                                 

 645 of 1000 random permutations                                                 

 646 of 1000 random permutations                                                 

 647 of 1000 random permutations                                                 

 648 of 1000 random permutations                                                 

 649 of 1000 random permutations                                                 

 650 of 1000 random permutations                                                 

 651 of 1000 random permutations                                                 

 652 of 1000 random permutations                                                 

 653 of 1000 random permutations                                                 

 654 of 1000 random permutations                                                 

 655 of 1000 random permutations                                                 

 656 of 1000 random permutations                                                 

 657 of 1000 random permutations                                                 

 658 of 1000 random permutations                                                 

 659 of 1000 random permutations                                                 

 660 of 1000 random permutations                                                 

 661 of 1000 random permutations                                                 

 662 of 1000 random permutations                                                 

 663 of 1000 random permutations                                                 

 664 of 1000 random permutations                                                 

 665 of 1000 random permutations                                                 

 666 of 1000 random permutations                                                 

 667 of 1000 random permutations                                                 

 668 of 1000 random permutations                                                 

 669 of 1000 random permutations                                                 

 670 of 1000 random permutations                                                 

 671 of 1000 random permutations                                                 

 672 of 1000 random permutations                                                 

 673 of 1000 random permutations                                                 

 674 of 1000 random permutations                                                 

 675 of 1000 random permutations                                                 

 676 of 1000 random permutations                                                 

 677 of 1000 random permutations                                                 

 678 of 1000 random permutations                                                 

 679 of 1000 random permutations                                                 

 680 of 1000 random permutations                                                 

 681 of 1000 random permutations                                                 

 682 of 1000 random permutations                                                 

 683 of 1000 random permutations                                                 

 684 of 1000 random permutations                                                 

 685 of 1000 random permutations                                                 

 686 of 1000 random permutations                                                 

 687 of 1000 random permutations                                                 

 688 of 1000 random permutations                                                 

 689 of 1000 random permutations                                                 

 690 of 1000 random permutations                                                 

 691 of 1000 random permutations                                                 

 692 of 1000 random permutations                                                 

 693 of 1000 random permutations                                                 

 694 of 1000 random permutations                                                 

 695 of 1000 random permutations                                                 

 696 of 1000 random permutations                                                 

 697 of 1000 random permutations                                                 

 698 of 1000 random permutations                                                 

 699 of 1000 random permutations                                                 

 700 of 1000 random permutations                                                 

 701 of 1000 random permutations                                                 

 702 of 1000 random permutations                                                 

 703 of 1000 random permutations                                                 

 704 of 1000 random permutations                                                 

 705 of 1000 random permutations                                                 

 706 of 1000 random permutations                                                 

 707 of 1000 random permutations                                                 

 708 of 1000 random permutations                                                 

 709 of 1000 random permutations                                                 

 710 of 1000 random permutations                                                 

 711 of 1000 random permutations                                                 

 712 of 1000 random permutations                                                 

 713 of 1000 random permutations                                                 

 714 of 1000 random permutations                                                 

 715 of 1000 random permutations                                                 

 716 of 1000 random permutations                                                 

 717 of 1000 random permutations                                                 

 718 of 1000 random permutations                                                 

 719 of 1000 random permutations                                                 

 720 of 1000 random permutations                                                 

 721 of 1000 random permutations                                                 

 722 of 1000 random permutations                                                 

 723 of 1000 random permutations                                                 

 724 of 1000 random permutations                                                 

 725 of 1000 random permutations                                                 

 726 of 1000 random permutations                                                 

 727 of 1000 random permutations                                                 

 728 of 1000 random permutations                                                 

 729 of 1000 random permutations                                                 

 730 of 1000 random permutations                                                 

 731 of 1000 random permutations                                                 

 732 of 1000 random permutations                                                 

 733 of 1000 random permutations                                                 

 734 of 1000 random permutations                                                 

 735 of 1000 random permutations                                                 

 736 of 1000 random permutations                                                 

 737 of 1000 random permutations                                                 

 738 of 1000 random permutations                                                 

 739 of 1000 random permutations                                                 

 740 of 1000 random permutations                                                 

 741 of 1000 random permutations                                                 

 742 of 1000 random permutations                                                 

 743 of 1000 random permutations                                                 

 744 of 1000 random permutations                                                 

 745 of 1000 random permutations                                                 

 746 of 1000 random permutations                                                 

 747 of 1000 random permutations                                                 

 748 of 1000 random permutations                                                 

 749 of 1000 random permutations                                                 

 750 of 1000 random permutations                                                 

 751 of 1000 random permutations                                                 

 752 of 1000 random permutations                                                 

 753 of 1000 random permutations                                                 

 754 of 1000 random permutations                                                 

 755 of 1000 random permutations                                                 

 756 of 1000 random permutations                                                 

 757 of 1000 random permutations                                                 

 758 of 1000 random permutations                                                 

 759 of 1000 random permutations                                                 

 760 of 1000 random permutations                                                 

 761 of 1000 random permutations                                                 

 762 of 1000 random permutations                                                 

 763 of 1000 random permutations                                                 

 764 of 1000 random permutations                                                 

 765 of 1000 random permutations                                                 

 766 of 1000 random permutations                                                 

 767 of 1000 random permutations                                                 

 768 of 1000 random permutations                                                 

 769 of 1000 random permutations                                                 

 770 of 1000 random permutations                                                 

 771 of 1000 random permutations                                                 

 772 of 1000 random permutations                                                 

 773 of 1000 random permutations                                                 

 774 of 1000 random permutations                                                 

 775 of 1000 random permutations                                                 

 776 of 1000 random permutations                                                 

 777 of 1000 random permutations                                                 

 778 of 1000 random permutations                                                 

 779 of 1000 random permutations                                                 

 780 of 1000 random permutations                                                 

 781 of 1000 random permutations                                                 

 782 of 1000 random permutations                                                 

 783 of 1000 random permutations                                                 

 784 of 1000 random permutations                                                 

 785 of 1000 random permutations                                                 

 786 of 1000 random permutations                                                 

 787 of 1000 random permutations                                                 

 788 of 1000 random permutations                                                 

 789 of 1000 random permutations                                                 

 790 of 1000 random permutations                                                 

 791 of 1000 random permutations                                                 

 792 of 1000 random permutations                                                 

 793 of 1000 random permutations                                                 

 794 of 1000 random permutations                                                 

 795 of 1000 random permutations                                                 

 796 of 1000 random permutations                                                 

 797 of 1000 random permutations                                                 

 798 of 1000 random permutations                                                 

 799 of 1000 random permutations                                                 

 800 of 1000 random permutations                                                 

 801 of 1000 random permutations                                                 

 802 of 1000 random permutations                                                 

 803 of 1000 random permutations                                                 

 804 of 1000 random permutations                                                 

 805 of 1000 random permutations                                                 

 806 of 1000 random permutations                                                 

 807 of 1000 random permutations                                                 

 808 of 1000 random permutations                                                 

 809 of 1000 random permutations                                                 

 810 of 1000 random permutations                                                 

 811 of 1000 random permutations                                                 

 812 of 1000 random permutations                                                 

 813 of 1000 random permutations                                                 

 814 of 1000 random permutations                                                 

 815 of 1000 random permutations                                                 

 816 of 1000 random permutations                                                 

 817 of 1000 random permutations                                                 

 818 of 1000 random permutations                                                 

 819 of 1000 random permutations                                                 

 820 of 1000 random permutations                                                 

 821 of 1000 random permutations                                                 

 822 of 1000 random permutations                                                 

 823 of 1000 random permutations                                                 

 824 of 1000 random permutations                                                 

 825 of 1000 random permutations                                                 

 826 of 1000 random permutations                                                 

 827 of 1000 random permutations                                                 

 828 of 1000 random permutations                                                 

 829 of 1000 random permutations                                                 

 830 of 1000 random permutations                                                 

 831 of 1000 random permutations                                                 

 832 of 1000 random permutations                                                 

 833 of 1000 random permutations                                                 

 834 of 1000 random permutations                                                 

 835 of 1000 random permutations                                                 

 836 of 1000 random permutations                                                 

 837 of 1000 random permutations                                                 

 838 of 1000 random permutations                                                 

 839 of 1000 random permutations                                                 

 840 of 1000 random permutations                                                 

 841 of 1000 random permutations                                                 

 842 of 1000 random permutations                                                 

 843 of 1000 random permutations                                                 

 844 of 1000 random permutations                                                 

 845 of 1000 random permutations                                                 

 846 of 1000 random permutations                                                 

 847 of 1000 random permutations                                                 

 848 of 1000 random permutations                                                 

 849 of 1000 random permutations                                                 

 850 of 1000 random permutations                                                 

 851 of 1000 random permutations                                                 

 852 of 1000 random permutations                                                 

 853 of 1000 random permutations                                                 

 854 of 1000 random permutations                                                 

 855 of 1000 random permutations                                                 

 856 of 1000 random permutations                                                 

 857 of 1000 random permutations                                                 

 858 of 1000 random permutations                                                 

 859 of 1000 random permutations                                                 

 860 of 1000 random permutations                                                 

 861 of 1000 random permutations                                                 

 862 of 1000 random permutations                                                 

 863 of 1000 random permutations                                                 

 864 of 1000 random permutations                                                 

 865 of 1000 random permutations                                                 

 866 of 1000 random permutations                                                 

 867 of 1000 random permutations                                                 

 868 of 1000 random permutations                                                 

 869 of 1000 random permutations                                                 

 870 of 1000 random permutations                                                 

 871 of 1000 random permutations                                                 

 872 of 1000 random permutations                                                 

 873 of 1000 random permutations                                                 

 874 of 1000 random permutations                                                 

 875 of 1000 random permutations                                                 

 876 of 1000 random permutations                                                 

 877 of 1000 random permutations                                                 

 878 of 1000 random permutations                                                 

 879 of 1000 random permutations                                                 

 880 of 1000 random permutations                                                 

 881 of 1000 random permutations                                                 

 882 of 1000 random permutations                                                 

 883 of 1000 random permutations                                                 

 884 of 1000 random permutations                                                 

 885 of 1000 random permutations                                                 

 886 of 1000 random permutations                                                 

 887 of 1000 random permutations                                                 

 888 of 1000 random permutations                                                 

 889 of 1000 random permutations                                                 

 890 of 1000 random permutations                                                 

 891 of 1000 random permutations                                                 

 892 of 1000 random permutations                                                 

 893 of 1000 random permutations                                                 

 894 of 1000 random permutations                                                 

 895 of 1000 random permutations                                                 

 896 of 1000 random permutations                                                 

 897 of 1000 random permutations                                                 

 898 of 1000 random permutations                                                 

 899 of 1000 random permutations                                                 

 900 of 1000 random permutations                                                 

 901 of 1000 random permutations                                                 

 902 of 1000 random permutations                                                 

 903 of 1000 random permutations                                                 

 904 of 1000 random permutations                                                 

 905 of 1000 random permutations                                                 

 906 of 1000 random permutations                                                 

 907 of 1000 random permutations                                                 

 908 of 1000 random permutations                                                 

 909 of 1000 random permutations                                                 

 910 of 1000 random permutations                                                 

 911 of 1000 random permutations                                                 

 912 of 1000 random permutations                                                 

 913 of 1000 random permutations                                                 

 914 of 1000 random permutations                                                 

 915 of 1000 random permutations                                                 

 916 of 1000 random permutations                                                 

 917 of 1000 random permutations                                                 

 918 of 1000 random permutations                                                 

 919 of 1000 random permutations                                                 

 920 of 1000 random permutations                                                 

 921 of 1000 random permutations                                                 

 922 of 1000 random permutations                                                 

 923 of 1000 random permutations                                                 

 924 of 1000 random permutations                                                 

 925 of 1000 random permutations                                                 

 926 of 1000 random permutations                                                 

 927 of 1000 random permutations                                                 

 928 of 1000 random permutations                                                 

 929 of 1000 random permutations                                                 

 930 of 1000 random permutations                                                 

 931 of 1000 random permutations                                                 

 932 of 1000 random permutations                                                 

 933 of 1000 random permutations                                                 

 934 of 1000 random permutations                                                 

 935 of 1000 random permutations                                                 

 936 of 1000 random permutations                                                 

 937 of 1000 random permutations                                                 

 938 of 1000 random permutations                                                 

 939 of 1000 random permutations                                                 

 940 of 1000 random permutations                                                 

 941 of 1000 random permutations                                                 

 942 of 1000 random permutations                                                 

 943 of 1000 random permutations                                                 

 944 of 1000 random permutations                                                 

 945 of 1000 random permutations                                                 

 946 of 1000 random permutations                                                 

 947 of 1000 random permutations                                                 

 948 of 1000 random permutations                                                 

 949 of 1000 random permutations                                                 

 950 of 1000 random permutations                                                 

 951 of 1000 random permutations                                                 

 952 of 1000 random permutations                                                 

 953 of 1000 random permutations                                                 

 954 of 1000 random permutations                                                 

 955 of 1000 random permutations                                                 

 956 of 1000 random permutations                                                 

 957 of 1000 random permutations                                                 

 958 of 1000 random permutations                                                 

 959 of 1000 random permutations                                                 

 960 of 1000 random permutations                                                 

 961 of 1000 random permutations                                                 

 962 of 1000 random permutations                                                 

 963 of 1000 random permutations                                                 

 964 of 1000 random permutations                                                 

 965 of 1000 random permutations                                                 

 966 of 1000 random permutations                                                 

 967 of 1000 random permutations                                                 

 968 of 1000 random permutations                                                 

 969 of 1000 random permutations                                                 

 970 of 1000 random permutations                                                 

 971 of 1000 random permutations                                                 

 972 of 1000 random permutations                                                 

 973 of 1000 random permutations                                                 

 974 of 1000 random permutations                                                 

 975 of 1000 random permutations                                                 

 976 of 1000 random permutations                                                 

 977 of 1000 random permutations                                                 

 978 of 1000 random permutations                                                 

 979 of 1000 random permutations                                                 

 980 of 1000 random permutations                                                 

 981 of 1000 random permutations                                                 

 982 of 1000 random permutations                                                 

 983 of 1000 random permutations                                                 

 984 of 1000 random permutations                                                 

 985 of 1000 random permutations                                                 

 986 of 1000 random permutations                                                 

 987 of 1000 random permutations                                                 

 988 of 1000 random permutations                                                 

 989 of 1000 random permutations                                                 

 990 of 1000 random permutations                                                 

 991 of 1000 random permutations                                                 

 992 of 1000 random permutations                                                 

 993 of 1000 random permutations                                                 

 994 of 1000 random permutations                                                 

 995 of 1000 random permutations                                                 

 996 of 1000 random permutations                                                 

 997 of 1000 random permutations                                                 

 998 of 1000 random permutations                                                 

 999 of 1000 random permutations                                                 

 1000 of 1000 random permutations                                                 
Comparing empirical statistics with their null distributions... Please wait

========================================================
Test of PCA significance: 17 variables, 49 observations
1000 bootstrap replicates, 1000 random permutations
========================================================

Empirical Psi = 57.6945, Max null Psi = 7.9011, Min null Psi = 3.9156, p-value = 0
Empirical Phi = 0.4606, Max null Phi = 0.1704, Min null Phi = 0.1200, p-value = 0

Empirical eigenvalue #1 = 7.79931, Max null eigenvalue = 2.7847, p-value = 0
Empirical eigenvalue #2 = 2.64507, Max null eigenvalue = 2.30548, p-value = 0
Empirical eigenvalue #3 = 1.91872, Max null eigenvalue = 2.00799, p-value = 0.009
Empirical eigenvalue #4 = 1.04069, Max null eigenvalue = 1.75936, p-value = 1
Empirical eigenvalue #5 = 0.90745, Max null eigenvalue = 1.56975, p-value = 1
Empirical eigenvalue #6 = 0.76203, Max null eigenvalue = 1.43569, p-value = 1
Empirical eigenvalue #7 = 0.61678, Max null eigenvalue = 1.30771, p-value = 1
Empirical eigenvalue #8 = 0.37522, Max null eigenvalue = 1.1816, p-value = 1
Empirical eigenvalue #9 = 0.25142, Max null eigenvalue = 1.09965, p-value = 1
Empirical eigenvalue #10 = 0.23602, Max null eigenvalue = 0.96987, p-value = 1
Empirical eigenvalue #11 = 0.18674, Max null eigenvalue = 0.8615, p-value = 1
Empirical eigenvalue #12 = 0.12613, Max null eigenvalue = 0.75665, p-value = 1
Empirical eigenvalue #13 = 0.08683, Max null eigenvalue = 0.70178, p-value = 1
Empirical eigenvalue #14 = 0.04197, Max null eigenvalue = 0.6121, p-value = 1
Empirical eigenvalue #15 = 0.00562, Max null eigenvalue = 0.52401, p-value = 1
Empirical eigenvalue #16 = 0, Max null eigenvalue = 0.41784, p-value = 1
Empirical eigenvalue #17 = 0, Max null eigenvalue = 0.37203, p-value = 1

PC 1 is significant and accounts for 45.9% (95%-CI:41.4-51.4) of the total variation
PC 2 is significant and accounts for 15.6% (95%-CI:13.7-19) of the total variation
PC 3 is significant and accounts for 11.3% (95%-CI:9-13.3) of the total variation

The first 3 PC axes are significant and account for 72.7% of the total variation

Variables 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, and 17 have significant loadings on PC 1
Variables 1, 4, 12, 13, and 16 have significant loadings on PC 2
Variables 3, 6, and 7 have significant loadings on PC 3

Variables 1, and 2 have significant correlations with PC 1
Variables 12, and 13 have significant correlations with PC 2
Variables 6, and 7 have significant correlations with PC 3
Code
pval <- c()
for (i in seq_len(length(pca_test_res$`Percentage of variation of empirical PC's`))) {
  obs <- pca_test_res$`Percentage of variation of empirical PC's`[i]
  null_model <- pca_test_res$`Percentage of variation of randomized data`[, i]
  
  pval[i] <- (sum(obs < null_model) + 1) / (1 + nrow(pca_test_res$`Percentage of variation of randomized data`))
}

pca_test_pval_adj <- p.adjust(pval, method = "BH")
pca_test_pval_adj
 [1] 0.008491508 0.008491508 0.056610057 1.000000000 1.000000000 1.000000000
 [7] 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000
[13] 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000
Code
res_pca <- dudi.pca(soil_prop_num, scannf = F, nf = 4)
Code
p_pca_variable <- fviz_pca_var(res_pca,
                               col.var = "cos2",
                               gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
                               repel = TRUE
)

p_pca_variable_axe3_4 <- fviz_pca_var(res_pca,
                                      col.var = "cos2", axes = c(3, 4),
                                      gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
                                      repel = TRUE
)

res_pca_var <- get_pca_var(res_pca)

# Fig. 2
(p_pca_variable + p_pca_variable_axe3_4) / free((factoextra::fviz_eig(res_pca)) +
                                                  (ggcorrplot::ggcorrplot(res_pca_var$cor)))
Code
practice <- unlist(lapply(strsplit(rownames(res_pca$tab), "--"), function(x) {
  x[6]
}))

terroir <- unlist(lapply(strsplit(rownames(res_pca$tab), "--"), function(x) {
  x[3]
}))

p_pca_ind_terroir <- fviz_pca_ind(res_pca,
                                  habillage = terroir,
                                  label = FALSE,
                                  repel = TRUE,
                                  mean.point = FALSE,
                                  addEllipses = TRUE,
                                  pointsize = 3,
                                  ellipse.type = "convex"
) +
  scale_shape_manual(values = rep(16, length(unique(terroir))))
Scale for shape is already present.
Adding another scale for shape, which will replace the existing scale.
Code
p_pca_ind_terroir$data$terroir <- terroir
p_pca_ind_terroir$data$practice <- practice

p_pca_ind_terroir_practice <- p_pca_ind_terroir + geom_point(aes(x = x, y = y),
                                                             shape = case_when(
                                                               practice == "Organic" ~ 2,
                                                               practice == "Conventional" ~ 6,
                                                               practice == "Conversion" ~ 5
                                                             ), size = 3.5,
                                                             color = rgb(0, 0, 0, 0.7)
)

fviz_pca_var(res_pca)

Code
# value
kw1_terroir <- kruskal.test(res_pca$tab[, 1], terroir)
kw2_terroir <- kruskal.test(res_pca$tab[, 2], terroir)
kw3_terroir <- kruskal.test(res_pca$tab[, 3], terroir)

kw1_practice <- kruskal.test(res_pca$tab[, 1], practice)
kw2_practice <- kruskal.test(res_pca$tab[, 2], practice)
kw3_practice <- kruskal.test(res_pca$tab[, 3], practice)


# Fig. 3 -> now figure S
p_pca_ind_terroir_practice + 
  annotate("text", x = 2, y = 4.5, label = paste("Kruskal-Wallis (axe1 - terroir): pval=", round(as.numeric(kw1_terroir$p.value),4)), size = 3) + 
  annotate("text", x = 2, y = 4.25, label = paste("Kruskal-Wallis (axe2 - terroir): pval=", round(as.numeric(kw2_terroir$p.value),4)), size = 3) + 
  annotate("text", x = 2, y = 4, label = paste("Kruskal-Wallis (axe3 - terroir): pval=", round(as.numeric(kw3_terroir$p.value),4)), size = 3) + 
  annotate("text", x = -2, y = 4.5, label = paste("Kruskal-Wallis (axe1 - practice): pval=", round(as.numeric(kw1_practice$p.value),4)), size = 3) + 
  annotate("text", x = -2, y = 4.25, label = paste("Kruskal-Wallis (axe2 - practice): pval=", round(as.numeric(kw2_practice$p.value),4)), size = 3) + 
  annotate("text", x = -2, y = 4, label = paste("Kruskal-Wallis (axe3 - practice): pval=", round(as.numeric(kw3_practice$p.value),4)), size = 3)
Warning: Removed 5 rows containing missing values or values outside the scale range
(`geom_point()`).
Removed 5 rows containing missing values or values outside the scale range
(`geom_point()`).

Code
# Fig. S1
ggplot(d_rs@sam_data, aes(x = practice, y = as.numeric(Cu), fill = practice)) +
  geom_violin() +
  geom_jitter()
Warning: Removed 26 rows containing non-finite outside the scale range
(`stat_ydensity()`).
Warning: Removed 26 rows containing missing values or values outside the scale range
(`geom_point()`).

Code
# value
kruskal.test(as.numeric(d_rs@sam_data$Cu), d_rs@sam_data$practice)

    Kruskal-Wallis rank sum test

data:  as.numeric(d_rs@sam_data$Cu) and d_rs@sam_data$practice
Kruskal-Wallis chi-squared = 0.61, df = 2, p-value = 0.7371
Code
d_with_pca <-
  clean_pq(subset_samples_pq(d_rs, d_rs@sam_data$paired_name %in% rownames(soil_prop_num)))
Cleaning suppress 192 taxa and 0 samples.
Code
res_pca_ind <- get_pca_ind(res_pca)

if (!identical(match(rownames(res_pca_ind$coord), d_with_pca@sam_data$paired_name), sort(match(rownames(res_pca_ind$coord), d_with_pca@sam_data$paired_name)))) {
  stop("ERROR")
}

d_with_pca <- add_info_to_sam_data(d_with_pca, res_pca_ind$coord)

cor.test(d_with_pca@sam_data$Dim.1, d_with_pca@sam_data$nb_otu, method = "spearman")
Warning in cor.test.default(d_with_pca@sam_data$Dim.1,
d_with_pca@sam_data$nb_otu, : Impossible de calculer la p-value exacte avec des
ex-aequos

    Spearman's rank correlation rho

data:  d_with_pca@sam_data$Dim.1 and d_with_pca@sam_data$nb_otu
S = 20547, p-value = 0.7416
alternative hypothesis: true rho is not equal to 0
sample estimates:
        rho 
-0.04831879 
Code
cor.test(d_with_pca@sam_data$Dim.2, d_with_pca@sam_data$nb_otu, method = "spearman")
Warning in cor.test.default(d_with_pca@sam_data$Dim.2,
d_with_pca@sam_data$nb_otu, : Impossible de calculer la p-value exacte avec des
ex-aequos

    Spearman's rank correlation rho

data:  d_with_pca@sam_data$Dim.2 and d_with_pca@sam_data$nb_otu
S = 21517, p-value = 0.5037
alternative hypothesis: true rho is not equal to 0
sample estimates:
        rho 
-0.09781111 
Code
cor.test(d_with_pca@sam_data$Dim.3, d_with_pca@sam_data$nb_otu, method = "spearman")
Warning in cor.test.default(d_with_pca@sam_data$Dim.3,
d_with_pca@sam_data$nb_otu, : Impossible de calculer la p-value exacte avec des
ex-aequos

    Spearman's rank correlation rho

data:  d_with_pca@sam_data$Dim.3 and d_with_pca@sam_data$nb_otu
S = 23684, p-value = 0.1508
alternative hypothesis: true rho is not equal to 0
sample estimates:
      rho 
-0.208378 
Code
(ggstatsplot::ggscatterstats(psmelt_samples_pq(d_with_pca), Dim.1, Hill_0, type = "non-parametric") +
    ggstatsplot::ggscatterstats(psmelt_samples_pq(d_with_pca), Dim.1, Hill_1, type = "non-parametric") +
    ggstatsplot::ggscatterstats(psmelt_samples_pq(d_with_pca), Dim.1, Hill_2, type = "non-parametric")) /
  (ggstatsplot::ggscatterstats(psmelt_samples_pq(d_with_pca), Dim.2, Hill_0, type = "non-parametric") +
     ggstatsplot::ggscatterstats(psmelt_samples_pq(d_with_pca), Dim.2, Hill_1, type = "non-parametric") +
     ggstatsplot::ggscatterstats(psmelt_samples_pq(d_with_pca), Dim.2, Hill_2, type = "non-parametric"))
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Taxa are now in rows.
Joining with `by = join_by(Sample)`
Taxa are now in rows.
Joining with `by = join_by(Sample)`
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_xsidebin()` using `bins = 30`. Pick better value with `binwidth`.
`stat_ysidebin()` using `bins = 30`. Pick better value with `binwidth`.

Code
dim_df <- as_tibble(d_with_pca@sam_data) |>
  select(c(starts_with("Dim"), "nb_seq", "nb_otu"))

cor_results <- correlation::correlation(dim_df)
summary(cor_results)
# Correlation Matrix (pearson-method)

Parameter |  nb_otu | nb_seq |     Dim.4 |     Dim.3 |    Dim.2
---------------------------------------------------------------
Dim.1     |   -0.12 |  -0.27 |  2.52e-16 |  5.08e-17 | 1.33e-15
Dim.2     |   -0.17 |  -0.15 | -1.82e-16 | -6.65e-17 |         
Dim.3     |   -0.27 |  -0.24 |  6.62e-18 |           |         
Dim.4     |    0.12 |   0.40 |           |           |         
nb_seq    | 0.67*** |        |           |           |         

p-value adjustment method: Holm (1979)
Code
cor_results %>%
  summary(redundant = TRUE) %>%
  plot()

Code
lon_lat_with_pca <- d_with_pca@sam_data[, c("long", "lat")]
lon_lat_with_pca$long <- as.numeric(lon_lat_with_pca$long)
lon_lat_with_pca$lat <- as.numeric(lon_lat_with_pca$lat)
MEM_with_pca <- dbmem(lon_lat_with_pca, MEM.autocor = "non-null")

d_with_pca@sam_data$MEM_1 <- MEM_with_pca[, 1]
d_with_pca@sam_data$MEM_2 <- MEM_with_pca[, 2]
Code
res_ado_spatial_soil_bray <-
  adonis_pq(
    d_with_pca,
    "MEM_1 + MEM_2 + Dim.1 + Dim.2 + Dim.3 + practice + inter_rank + rank + terroir",
    correction_for_sample_size = TRUE,
    by = "terms"
  )
res_ado_spatial_soil_robAit <-
  adonis_pq(
    d_with_pca,
    "MEM_1 + MEM_2 + Dim.1 + Dim.2 + Dim.3 + practice + inter_rank + rank + terroir",
    correction_for_sample_size = TRUE,
    dist_method = "robust.aitchison",
    by = "terms"
  )

res_ado_spatial_soil_bray_rarefy <-
  adonis_pq(
    rarefy_even_depth(d_with_pca, rngseed = 626),
    "MEM_1 + MEM_2 + Dim.1 + Dim.2 + Dim.3 + practice + inter_rank + rank + terroir",
    correction_for_sample_size = FALSE,
    by = "terms"
  )
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
977OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
res_ado_spatial_soil_robAit_rarefy <-
  adonis_pq(
    rarefy_even_depth(d_with_pca, rngseed = 626),
    "MEM_1 + MEM_2 + Dim.1 + Dim.2 + Dim.3 + practice + inter_rank + rank + terroir",
    correction_for_sample_size = FALSE,
    dist_method = "robust.aitchison",
    by = "terms"
  )
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
977OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
anova(betadisper(phyloseq::distance(d_rs, method = "bray"), d_rs@sam_data$practice))
Analysis of Variance Table

Response: Distances
          Df  Sum Sq   Mean Sq F value Pr(>F)
Groups     2 0.01743 0.0087135  0.8894 0.4154
Residuals 72 0.70541 0.0097974               
Code
anova(betadisper(phyloseq::distance(d_rs, method = "bray"), d_rs@sam_data$terroir))
Analysis of Variance Table

Response: Distances
          Df  Sum Sq  Mean Sq F value Pr(>F)
Groups    13 0.23559 0.018122  1.4572 0.1605
Residuals 61 0.75865 0.012437               
Code
res_ado_rarperm <- adonis_rarperm_pq(d_with_pca,
                                     "MEM_1 + MEM_2 + Dim.1 + Dim.2 + Dim.3 + practice + inter_rank + rank + terroir",
                                     nperm = 9,by = "terms"
)

  |                                                        
  |                                                  |   0%
`set.seed(1)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(1); .Random.seed` for the full vector
...
976OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |======                                            |  11%
`set.seed(2)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(2); .Random.seed` for the full vector
...
977OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |===========                                       |  22%
`set.seed(3)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(3); .Random.seed` for the full vector
...
995OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |=================                                 |  33%
`set.seed(4)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(4); .Random.seed` for the full vector
...
962OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |======================                            |  44%
`set.seed(5)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(5); .Random.seed` for the full vector
...
968OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |============================                      |  56%
`set.seed(6)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(6); .Random.seed` for the full vector
...
974OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |=================================                 |  67%
`set.seed(7)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(7); .Random.seed` for the full vector
...
995OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |=======================================           |  78%
`set.seed(8)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(8); .Random.seed` for the full vector
...
944OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |============================================      |  89%
`set.seed(9)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(9); .Random.seed` for the full vector
...
1001OTUs were removed because they are no longer 
present in any sample after random subsampling
...

  |                                                        
  |==================================================| 100%
Code
res_ado_rarperm
$mean
           Df   SumOfSqs         R2        F      Pr(>F)
MEM_1       1  0.6586334 0.04633691 3.055062 0.001333333
MEM_2       1  1.4390386 0.10124043 6.675006 0.001000000
Dim.1       1  0.8142545 0.05728553 3.776923 0.001000000
Dim.2       1  0.4278388 0.03009967 1.984521 0.015888889
Dim.3       1  0.4583481 0.03224635 2.126066 0.013222222
practice    2  0.4978426 0.03502501 1.154627 0.234444444
inter_rank  3  0.6165704 0.04337764 0.953326 0.555777778
rank        2  0.6479964 0.04558865 1.502875 0.043222222
terroir    12  3.4793666 0.24478383 1.344919 0.008222222
Residual   24  5.1741120 0.36401599       NA          NA
Total      48 14.2140015 1.00000000       NA          NA

$quantile_min
           Df   SumOfSqs         R2         F Pr(>F)
MEM_1       1  0.6523785 0.04593848 3.0223605 0.0010
MEM_2       1  1.4204560 0.10010571 6.5882157 0.0010
Dim.1       1  0.8091985 0.05685414 3.7488377 0.0010
Dim.2       1  0.4214168 0.02967034 1.9584664 0.0116
Dim.3       1  0.4519256 0.03177274 2.0895145 0.0086
practice    2  0.4942001 0.03472898 1.1429674 0.1990
inter_rank  3  0.6107450 0.04301062 0.9423823 0.5252
rank        2  0.6435660 0.04531086 1.4905851 0.0354
terroir    12  3.4577760 0.24377487 1.3375557 0.0044
Residual   24  5.1592009 0.36241364        NA     NA
Total      48 14.1835242 1.00000000        NA     NA

$quantile_max
           Df   SumOfSqs         R2         F Pr(>F)
MEM_1       1  0.6647908 0.04673184 3.0787917 0.0020
MEM_2       1  1.4586788 0.10249900 6.7726762 0.0010
Dim.1       1  0.8197680 0.05759598 3.8106203 0.0010
Dim.2       1  0.4312398 0.03028679 2.0003311 0.0204
Dim.3       1  0.4618227 0.03253546 2.1440655 0.0160
practice    2  0.5028434 0.03540736 1.1690589 0.2584
inter_rank  3  0.6214720 0.04372579 0.9617194 0.5840
rank        2  0.6532270 0.04596882 1.5192717 0.0518
terroir    12  3.4964165 0.24553364 1.3545084 0.0126
Residual   24  5.1912215 0.36512247        NA     NA
Total      48 14.2424276 1.00000000        NA     NA
Code
df <- data.frame(res_ado_spatial_soil_bray)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "sample_size",
      "MEM_1",
      "MEM_2",
      "Dim.1",
      "Dim.2",
      "Dim.3",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")
p1 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.02
  ) +
  ggtitle("Permanova on bray")



df <- data.frame(res_ado_spatial_soil_robAit)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "MEM_1",
      "MEM_2",
      "Dim.1",
      "Dim.2",
      "Dim.3",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")

p2 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.02
  ) +
  ggtitle("Permanova on robust Aitchison")



df <- data.frame(res_ado_spatial_soil_bray_rarefy)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "MEM_1",
      "MEM_2",
      "Dim.1",
      "Dim.2",
      "Dim.3",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )

df <- df %>% filter(!names == "Total")

p3 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.02
  ) +
  ggtitle("Permanova on bray rarefied")




df <- data.frame(res_ado_spatial_soil_robAit_rarefy)
df$names <-
  factor(
    rownames(df),
    levels = c(
      "MEM_1",
      "MEM_2",
      "Dim.1",
      "Dim.2",
      "Dim.3",
      "practice",
      "inter_rank",
      "rank",
      "terroir",
      "Residual",
      "Total"
    )
  )
df <- df %>% filter(!names == "Total")

p4 <-
  ggplot(df, aes(y = R2 / Df, x = names, fill = R2 / Df)) +
  geom_bar(stat = "identity") +
  scale_fill_viridis_c() +
  geom_text(
    label = case_when(
      df$Pr..F. < 0.001 ~ "***",
      df$Pr..F. < 0.01 ~ "**",
      df$Pr..F. < 0.05 ~ "*",
      df$Pr..F. > 0.05 ~ "ns"
    ),
    nudge_y = 0.02
  ) +
  ggtitle("Permanova on robust Aitchison rarefied")

(p1 + ylim(c(0, 0.14)) + p2 + ylim(c(0, 0.14))) /
  (p3 + ylim(c(0, 0.14)) + p4 + ylim(c(0, 0.14)))
Warning: Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).
Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).
Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).
Removed 1 row containing missing values or values outside the scale range
(`geom_text()`).

Code
# TABLE 2
kbl(res_ado_spatial_bray) |>
  kable_classic(full_width = F, html_font = "Cambria")
Df SumOfSqs R2 F Pr(>F)
sample_size 1 0.7693445 0.0353335 3.461381 0.001
MEM_1 1 1.5058443 0.0691585 6.774989 0.001
MEM_2 1 1.1000084 0.0505198 4.949081 0.001
practice 2 0.8159499 0.0374739 1.835532 0.007
inter_rank 3 0.7350956 0.0337605 1.102430 0.272
rank 2 0.6418526 0.0294782 1.443889 0.049
terroir 13 4.8702019 0.2236724 1.685513 0.001
Residual 51 11.3355247 0.5206034 NA NA
Total 74 21.7738218 1.0000000 NA NA
Code
kbl(res_ado_spatial_soil_bray) |>
  kable_classic(full_width = F, html_font = "Cambria")
Df SumOfSqs R2 F Pr(>F)
sample_size 1 0.7901843 0.0542150 3.6103129 0.001
MEM_1 1 0.5124004 0.0351561 2.3411323 0.002
MEM_2 1 1.3638777 0.0935764 6.2314898 0.001
Dim.1 1 0.7791081 0.0534550 3.5597062 0.001
Dim.2 1 0.3574619 0.0245256 1.6332256 0.043
Dim.3 1 0.4630058 0.0317671 2.1154506 0.006
practice 2 0.4521423 0.0310217 1.0329080 0.397
inter_rank 3 0.6361246 0.0436448 0.9688073 0.523
rank 2 0.6340566 0.0435030 1.4484867 0.041
terroir 12 3.5526823 0.2437514 1.3526691 0.005
Residual 23 5.0339787 0.3453839 NA NA
Total 48 14.5750227 1.0000000 NA NA
Code
# TABLE S4
kbl(res_ado_spatial_bray_rarefy) |>
  kable_classic(full_width = F, html_font = "Cambria")
Df SumOfSqs R2 F Pr(>F)
MEM_1 1 1.5376111 0.0719461 6.9592951 0.001
MEM_2 1 1.3524271 0.0632812 6.1211440 0.001
practice 2 0.9429846 0.0441230 2.1339947 0.004
inter_rank 3 0.6179406 0.0289140 0.9322754 0.569
rank 2 0.6278679 0.0293785 1.4208788 0.085
terroir 13 4.8038065 0.2247742 1.6724799 0.001
Residual 52 11.4890628 0.5375830 NA NA
Total 74 21.3717007 1.0000000 NA NA
Code
# TABLE S5
kbl(res_ado_spatial_soil_bray_rarefy) |>
  kable_classic(full_width = F, html_font = "Cambria")
Df SumOfSqs R2 F Pr(>F)
MEM_1 1 0.6563568 0.0461721 3.0477747 0.003
MEM_2 1 1.4407089 0.1013481 6.6898923 0.001
Dim.1 1 0.8154816 0.0573659 3.7866665 0.001
Dim.2 1 0.4319417 0.0303854 2.0057094 0.023
Dim.3 1 0.4627161 0.0325502 2.1486096 0.013
practice 2 0.4993959 0.0351305 1.1594655 0.224
inter_rank 3 0.6181950 0.0434876 0.9568572 0.541
rank 2 0.6458273 0.0454314 1.4994406 0.037
terroir 12 3.4762793 0.2445424 1.3451673 0.008
Residual 24 5.1685456 0.3635865 NA NA
Total 48 14.2154480 1.0000000 NA NA
Code
# TABLE S6
kbl(res_ado_spatial_robAit_rarefy) |>
  kable_classic(full_width = F, html_font = "Cambria")
Df SumOfSqs R2 F Pr(>F)
MEM_1 1 323.4837 0.0222816 1.9625739 0.001
MEM_2 1 292.9957 0.0201816 1.7776033 0.006
practice 2 462.2088 0.0318371 1.4021093 0.002
inter_rank 3 428.8210 0.0295373 0.8672182 0.886
rank 2 459.7097 0.0316649 1.3945282 0.017
terroir 13 3979.7626 0.2741271 1.8573230 0.001
Residual 52 8570.9649 0.5903703 NA NA
Total 74 14517.9464 1.0000000 NA NA
Code
# TABLE S7
kbl(res_ado_spatial_soil_robAit_rarefy) |>
  kable_classic(full_width = F, html_font = "Cambria")
Df SumOfSqs R2 F Pr(>F)
MEM_1 1 391.6463 0.0265742 1.4163293 0.002
MEM_2 1 427.9703 0.0290388 1.5476895 0.002
Dim.1 1 603.3451 0.0409385 2.1819061 0.001
Dim.2 1 373.5791 0.0253483 1.3509923 0.023
Dim.3 1 381.3598 0.0258762 1.3791299 0.010
practice 2 597.3217 0.0405298 1.0800617 0.169
inter_rank 3 723.4742 0.0490895 0.8721115 0.858
rank 2 631.8043 0.0428695 1.1424123 0.100
terroir 12 3970.8241 0.2694303 1.1966569 0.005
Residual 24 6636.5288 0.4503050 NA NA
Total 48 14737.8537 1.0000000 NA NA

Variance partitionning

Code
plot_var_part_pq(
  var_par_pq(
    physeq = d_with_pca,
    list_component = list(
      "Spatial" = c("MEM_1", "MEM_2"),
      "Soil" = c("Dim.1", "Dim.2", "Dim.3"),
      "Practice" = c("practice", "inter_rank", "rank"),
      "Terroir" = c("terroir")
    )
  ),
  show_dbrda_signif = TRUE
)

Code
# Figure 6a
res_varpart_rarefy <- var_par_rarperm_pq(
  physeq = d_with_pca,
  list_component = list(
    "Spatial" = c("MEM_1", "MEM_2"),
    "Soil" = c("Dim.1", "Dim.2", "Dim.3"),
    "Practice" = c("practice", "inter_rank", "rank"),
    "Terroir" = c("terroir")
  ),
  nperm = 99,
  dbrda_computation = TRUE
)

  |                                                        
  |                                                  |   0%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================| 100%
Code
plot_var_part_pq(res_varpart_rarefy, show_quantiles = FALSE, filter_quantile_zero = TRUE, show_dbrda_signif = F,digits = 2)

Code
plot_var_part_pq(res_varpart_rarefy, show_quantiles = TRUE, show_dbrda_signif = TRUE)

Code
# Figure 6b
res_varpart_rarefy_wo_soil <- var_par_rarperm_pq(
  physeq = d_rs,
  list_component = list(
    "Spatial" = c("MEM_1", "MEM_2"),
    "Practice" = c("practice", "inter_rank", "rank"),
    "Terroir" = c("terroir")
  ),
  nperm = 99,
  dbrda_computation = TRUE
)

  |                                                        
  |                                                  |   0%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================| 100%
Code
plot_var_part_pq(res_varpart_rarefy_wo_soil, show_quantiles = FALSE, filter_quantile_zero = TRUE, show_dbrda_signif = F,digits = 2)

Code
plot_var_part_pq(var_par_pq(
  physeq = d_with_pca,
  list_component = list(
    "Spatial" = c("MEM_1", "MEM_2"),
    "Soil" = c("Dim.1", "Dim.2", "Dim.3"),
    "Practice" = c("practice", "inter_rank", "rank"),
    "Terroir" = c("terroir")
  ),
  dist_method = "robust.aitchison"
))

Code
res_varpart_robAit_rarefy <- var_par_rarperm_pq(
  physeq = d_with_pca,
  list_component = list(
    "Spatial" = c("MEM_1", "MEM_2"),
    "Soil" = c("Dim.1", "Dim.2", "Dim.3"),
    "Practice" = c("practice", "inter_rank", "rank"),
    "Terroir" = c("terroir")
  ),
  dist_method = "robust.aitchison",
  nperm = 99
)

  |                                                        
  |                                                  |   0%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================| 100%
Code
plot_var_part_pq(res_varpart_robAit_rarefy, filter_quantile_zero = TRUE)

Code
res_varpart_rarefy_wo_soil_Aitchison <- var_par_rarperm_pq(
  physeq = d_rs,
  list_component = list(
    "Spatial" = c("MEM_1", "MEM_2"),
    "Practice" = c("practice", "inter_rank", "rank"),
    "Terroir" = c("terroir")
  ),
  dist_method = "robust.aitchison",
  nperm = 99,
  dbrda_computation = TRUE
)

  |                                                        
  |                                                  |   0%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================| 100%
Code
plot_var_part_pq(res_varpart_rarefy_wo_soil_Aitchison, show_quantiles = FALSE, filter_quantile_zero = TRUE, show_dbrda_signif = F,digits = 2)

Code
res_varpart_rarefy <- var_par_rarperm_pq(
  physeq = d_with_pca,
  list_component = list(
    "Spatial" = c("MEM_1", "MEM_2"),
    "Soil" = c("Dim.1", "Dim.2", "Dim.3"),
    "Practice" = c("practice", "inter_rank", "rank"),
    "Terroir" = c("terroir")
  ),
  nperm = 99
)

  |                                                        
  |                                                  |   0%
  |                                                        
  |=                                                 |   1%
  |                                                        
  |=                                                 |   2%
  |                                                        
  |==                                                |   3%
  |                                                        
  |==                                                |   4%
  |                                                        
  |===                                               |   5%
  |                                                        
  |===                                               |   6%
  |                                                        
  |====                                              |   7%
  |                                                        
  |====                                              |   8%
  |                                                        
  |=====                                             |   9%
  |                                                        
  |=====                                             |  10%
  |                                                        
  |======                                            |  11%
  |                                                        
  |======                                            |  12%
  |                                                        
  |=======                                           |  13%
  |                                                        
  |=======                                           |  14%
  |                                                        
  |========                                          |  15%
  |                                                        
  |========                                          |  16%
  |                                                        
  |=========                                         |  17%
  |                                                        
  |=========                                         |  18%
  |                                                        
  |==========                                        |  19%
  |                                                        
  |==========                                        |  20%
  |                                                        
  |===========                                       |  21%
  |                                                        
  |===========                                       |  22%
  |                                                        
  |============                                      |  23%
  |                                                        
  |============                                      |  24%
  |                                                        
  |=============                                     |  25%
  |                                                        
  |=============                                     |  26%
  |                                                        
  |==============                                    |  27%
  |                                                        
  |==============                                    |  28%
  |                                                        
  |===============                                   |  29%
  |                                                        
  |===============                                   |  30%
  |                                                        
  |================                                  |  31%
  |                                                        
  |================                                  |  32%
  |                                                        
  |=================                                 |  33%
  |                                                        
  |=================                                 |  34%
  |                                                        
  |==================                                |  35%
  |                                                        
  |==================                                |  36%
  |                                                        
  |===================                               |  37%
  |                                                        
  |===================                               |  38%
  |                                                        
  |====================                              |  39%
  |                                                        
  |====================                              |  40%
  |                                                        
  |=====================                             |  41%
  |                                                        
  |=====================                             |  42%
  |                                                        
  |======================                            |  43%
  |                                                        
  |======================                            |  44%
  |                                                        
  |=======================                           |  45%
  |                                                        
  |=======================                           |  46%
  |                                                        
  |========================                          |  47%
  |                                                        
  |========================                          |  48%
  |                                                        
  |=========================                         |  49%
  |                                                        
  |=========================                         |  51%
  |                                                        
  |==========================                        |  52%
  |                                                        
  |==========================                        |  53%
  |                                                        
  |===========================                       |  54%
  |                                                        
  |===========================                       |  55%
  |                                                        
  |============================                      |  56%
  |                                                        
  |============================                      |  57%
  |                                                        
  |=============================                     |  58%
  |                                                        
  |=============================                     |  59%
  |                                                        
  |==============================                    |  60%
  |                                                        
  |==============================                    |  61%
  |                                                        
  |===============================                   |  62%
  |                                                        
  |===============================                   |  63%
  |                                                        
  |================================                  |  64%
  |                                                        
  |================================                  |  65%
  |                                                        
  |=================================                 |  66%
  |                                                        
  |=================================                 |  67%
  |                                                        
  |==================================                |  68%
  |                                                        
  |==================================                |  69%
  |                                                        
  |===================================               |  70%
  |                                                        
  |===================================               |  71%
  |                                                        
  |====================================              |  72%
  |                                                        
  |====================================              |  73%
  |                                                        
  |=====================================             |  74%
  |                                                        
  |=====================================             |  75%
  |                                                        
  |======================================            |  76%
  |                                                        
  |======================================            |  77%
  |                                                        
  |=======================================           |  78%
  |                                                        
  |=======================================           |  79%
  |                                                        
  |========================================          |  80%
  |                                                        
  |========================================          |  81%
  |                                                        
  |=========================================         |  82%
  |                                                        
  |=========================================         |  83%
  |                                                        
  |==========================================        |  84%
  |                                                        
  |==========================================        |  85%
  |                                                        
  |===========================================       |  86%
  |                                                        
  |===========================================       |  87%
  |                                                        
  |============================================      |  88%
  |                                                        
  |============================================      |  89%
  |                                                        
  |=============================================     |  90%
  |                                                        
  |=============================================     |  91%
  |                                                        
  |==============================================    |  92%
  |                                                        
  |==============================================    |  93%
  |                                                        
  |===============================================   |  94%
  |                                                        
  |===============================================   |  95%
  |                                                        
  |================================================  |  96%
  |                                                        
  |================================================  |  97%
  |                                                        
  |================================================= |  98%
  |                                                        
  |================================================= |  99%
  |                                                        
  |==================================================| 100%
Code
plot_var_part_pq(res_varpart_rarefy, show_quantiles = FALSE, filter_quantile_zero = TRUE)

Code
plot_var_part_pq(res_varpart_rarefy, show_quantiles = TRUE)

New table for resubmission

Terroir

Code
tab_summary <- d_rs@sam_data |>
  cbind(vegan::renyi(d_rs@otu_table, scales = c(0, 1, 2), hill = TRUE)) |>
  as_tibble() |>
  rename("Hill_0" = "0",
         "Hill_1" = "1",
         "Hill_2" = "2") |>
  group_by(terroir) |>
  summarise(
    "mean" = across(
      c(
        "Myc_freq",
        "Myc_intensity_colonization",
        "Arbuscul_abundance",
        "Hill_0",
        "Hill_1",
        "Hill_2",
        "Coarse_sand",
        "Fine_sand",
        "Coarse_silt",
        "Fine_silt",
        "Total_clay",
        "Total_lime",
        "ph",
        "C",
        "SOM",
        "N",
        "C_N",
        "Cu",
        "P2O5",
        "MgO",
        "K20",
        "Na20",
        "CEC",
        "nb_spores"
      ),
      \(x) mean(x, na.rm =TRUE)
    ),
    "sd" = across(
      c(
        "Myc_freq",
        "Myc_intensity_colonization",
        "Arbuscul_abundance",
        "Hill_0",
        "Hill_1",
        "Hill_2",
        "Coarse_sand",
        "Fine_sand",
        "Coarse_silt",
        "Fine_silt",
        "Total_clay",
        "Total_lime",
        "ph",
        "C",
        "SOM",
        "N",
        "C_N",
        "Cu",
        "P2O5",
        "MgO",
        "K20",
        "Na20",
        "CEC",
        "nb_spores"
      ),
      \(x) sd(x, na.rm =TRUE)
    ),
    "n" = across(c("Myc_freq", "Hill_0", "Fine_sand"), function(x) {
      sum(!is.na(x))
    })
  ) |> 
  unnest(cols = c(mean, sd, n), names_sep = "_") |>
  mutate(across(where(is.numeric), function(x) {round(as.numeric(x), 1)})) |>
  mutate_all(~replace(., is.na(.), NA)) |>
  relocate(any_of(c("terroir", "n_Myc_freq", "mean_Myc_freq", "mean_Myc_intensity_colonization", "mean_Arbuscul_abundance", "n_Hill_0", "mean_Hill_0", "mean_Hill_1", "mean_Hill_2", "n_Fine_sand")))|>
  relocate("mean_nb_spores",.after = mean_Arbuscul_abundance)|>
  relocate("sd_nb_spores",.after = mean_Arbuscul_abundance)

tab_summary_terroir <- tab_summary |>
  gt() |>
  cols_width(
    contains("terroir") ~px(150),
    starts_with("n") ~ px(30),
    where(is.numeric) ~ px(65)
  ) |> 
  cols_merge(c("mean_Myc_freq", "sd_Myc_freq"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_nb_spores", "sd_nb_spores"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Myc_intensity_colonization", "sd_Myc_intensity_colonization"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Arbuscul_abundance", "sd_Arbuscul_abundance"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>")|> 
  cols_merge(c("mean_Hill_0", "sd_Hill_0"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Hill_1", "sd_Hill_1"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Hill_2", "sd_Hill_2"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_ph", "sd_ph"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_C", "sd_C"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_SOM", "sd_SOM"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_N", "sd_N"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_C_N", "sd_C_N"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Cu", "sd_Cu"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_P2O5", "sd_P2O5"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Coarse_sand", "sd_Coarse_sand"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Fine_sand", "sd_Fine_sand"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Coarse_silt", "sd_Coarse_silt"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |> 
  cols_merge(c("mean_Fine_silt", "sd_Fine_silt"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Total_clay", "sd_Total_clay"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Total_lime", "sd_Total_lime"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_MgO", "sd_MgO"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_K20", "sd_K20"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Na20", "sd_Na20"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_CEC", "sd_CEC"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  
  cols_label(
    mean_Myc_freq= "F%",
    mean_Myc_intensity_colonization = "M%",
    mean_Arbuscul_abundance = "A%",
    n_Myc_freq = "n",
    mean_Hill_0 = html("H<sup>0</sup>"),
    mean_Hill_1 =  html("H<sup>1</sup>"),
    mean_Hill_2 =  html("H<sup>2</sup>"),
    n_Hill_0 = "n",
    n_Fine_sand = "n",
    mean_ph = "PH",
    mean_C = "C",
    mean_SOM ="SOM", 
    mean_N = "N",
    mean_C_N = "C/N",
    mean_Cu = "Cu",
    mean_P2O5 = "P2O5",
    mean_Coarse_sand = "Coarse sand",
    mean_Fine_sand = "Fine sand",
    mean_Coarse_silt = "Coarse silt",
    mean_Fine_silt = "Fine silt",
    mean_Total_clay = "Clay",
    mean_Total_lime = "Lime",
    mean_MgO = "MgO",
    mean_K20 = "K20",
    mean_Na20 = "Na20",
    mean_CEC = "CEC",
    mean_nb_spores = "Spores"
  )|>
  tab_spanner(
    label = "Soil characteristics",
    columns = -c(terroir, n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, mean_nb_spores, n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )   |>
  tab_spanner(
    label = "Fungal colonisation",
    columns = c(n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, mean_nb_spores)
  ) |>
  tab_spanner(
    label = "Hill number",
    columns = c(n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )|>
  opt_stylize(style = 1, color = "gray") |>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_body(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))|>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_column_labels(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))

gtsave(tab_summary_terroir, "tab_summary_terroir.png", vwidth=2200,expand=20)
Code
tab_summary |>
  gt() |>
  cols_width(
    contains("terroir") ~px(150),
    starts_with("n") ~ px(30),
    where(is.numeric) ~ px(65)
  )|>
  cols_label(
    mean_Myc_freq= "F%",
    mean_Myc_intensity_colonization = "M%",
    mean_Arbuscul_abundance = "A%",
    n_Myc_freq = "n",
    mean_Hill_0 = html("H<sup>0</sup>"),
    mean_Hill_1 =  html("H<sup>1</sup>"),
    mean_Hill_2 =  html("H<sup>2</sup>"),
    n_Hill_0 = "n",
    n_Fine_sand = "n",
    mean_ph = "PH",
    mean_C = "C",
    mean_SOM ="SOM", 
    mean_N = "N",
    mean_C_N = "C/N",
    mean_Cu = "Cu",
    mean_P2O5 = "P2O5",
    mean_Coarse_sand = "Coarse sand",
    mean_Fine_sand = "Fine sand",
    mean_Coarse_silt = "Coarse silt",
    mean_Fine_silt = "Fine silt",
    mean_Total_clay = "Clay",
    mean_Total_lime = "Lime",
    mean_MgO = "MgO",
    mean_K20 = "K20",
    mean_Na20 = "Na20",
    mean_CEC = "CEC",
    mean_nb_spores = "Spores"
  )|>
  tab_spanner(
    label = "Soil characteristics",
    columns = -c(terroir, n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )   |>
  tab_spanner(
    label = "Fungal colonisation",
    columns = c(n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, mean_nb_spores),
  ) |>
  tab_spanner(
    label = "Hill number",
    columns = c(n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )|>
  opt_stylize(style = 1, color = "gray") |>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_body(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))|>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_column_labels(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))
Fungal colonisation
Fungal colonisation
terroir n F% M% A%
Soil characteristics
Hill number
sd_nb_spores Spores n Coarse sand Fine sand Coarse silt Fine silt Clay Lime PH C SOM N C/N Cu P2O5 MgO K20 Na20 CEC sd_Myc_freq sd_Myc_intensity_colonization sd_Arbuscul_abundance sd_Hill_0 sd_Hill_1 sd_Hill_2 sd_Coarse_sand sd_Fine_sand sd_Coarse_silt sd_Fine_silt sd_Total_clay sd_Total_lime sd_ph sd_C sd_SOM sd_N sd_C_N sd_Cu sd_P2O5 sd_MgO sd_K20 sd_Na20 sd_CEC n H0 H1 H2
Aiguesmortes 2 97.9 11.7 8.7 405.9 1286.9 2 541.0 410.0 11.5 13.0 24.5 180.0 8.4 5.4 9.3 0.6 9.8 71.1 328.5 84.3 95.1 11.2 2.2 2.9 3.2 2.2 31.1 9.3 4.3 7.1 12.7 2.1 2.8 0.7 42.4 0.0 0.6 1.0 0.0 1.9 2.5 38.9 1.3 2.0 6.6 0.1 2 242.0 34.9 17.8
Cevennes 4 100.0 17.2 11.0 3280.5 9267.9 4 86.5 111.5 183.8 306.0 312.2 204.0 8.2 11.1 19.0 1.4 8.2 15.7 174.2 274.1 329.2 15.3 16.3 0.0 9.2 7.7 112.0 6.5 3.2 28.9 26.3 31.6 31.2 27.7 93.6 0.1 2.0 3.4 0.1 1.3 4.7 131.6 16.2 130.4 2.0 4.1 4 230.5 17.9 8.7
Côte des Bar 4 97.4 16.9 10.4 1200.4 3620.6 4 148.2 40.8 158.5 304.0 348.5 416.8 8.1 20.6 35.5 2.0 10.4 46.0 242.8 316.2 655.7 14.3 16.3 3.1 3.3 3.9 37.6 4.5 4.0 32.7 12.8 73.2 37.1 78.2 197.3 0.0 3.6 6.1 0.4 0.4 35.4 47.1 93.9 212.5 2.4 4.2 4 96.8 19.1 9.8
Côte des Blancs 15 77.3 17.8 11.7 5101.8 14168.3 0 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 6.1 9.3 7.1 15.1 4.0 2.6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 15 30.5 10.3 6.8
Faugeres 4 99.5 26.7 15.6 4406.3 5885.5 4 297.2 206.2 113.0 175.8 207.8 29.0 7.1 13.2 22.6 1.5 8.6 16.5 80.0 352.0 130.3 33.0 10.2 0.9 10.6 9.2 23.4 7.1 3.6 35.1 52.3 16.7 29.5 39.5 20.5 0.5 2.0 3.5 0.1 0.8 4.7 61.5 141.4 63.6 10.8 1.8 4 204.2 25.1 12.8
Gigondas 4 100.0 21.1 17.9 3388.2 12313.7 4 74.0 84.8 122.8 369.2 349.2 118.2 8.3 19.6 33.6 1.6 12.1 30.4 97.5 309.2 432.0 13.3 18.4 0.0 13.1 11.4 121.4 15.5 5.4 53.6 27.2 68.8 77.3 90.8 66.9 0.1 3.5 6.0 0.3 0.4 12.8 37.3 66.2 115.9 4.4 4.6 4 281.5 44.8 18.3
Langoiran 5 89.6 8.1 5.2 1071.1 3372.7 5 233.2 103.2 309.2 165.2 189.2 0.0 6.4 12.2 20.9 1.2 9.9 57.7 174.2 210.9 280.4 17.2 9.0 7.1 3.2 2.8 63.3 15.9 6.4 60.7 20.4 39.2 20.6 11.5 0.0 0.5 3.8 6.6 0.3 1.1 23.7 57.8 71.0 94.3 2.8 1.6 5 91.8 20.3 8.9
Mercurey 4 85.9 15.2 7.9 711.7 4648.6 4 109.2 52.5 172.2 256.2 409.8 246.5 8.1 20.4 35.1 1.9 10.7 78.3 482.5 315.5 890.8 13.3 20.1 12.3 11.6 6.9 15.5 5.0 3.4 24.0 8.5 47.6 15.4 77.8 149.2 0.1 3.6 6.1 0.2 0.8 27.0 354.5 30.7 229.3 2.2 3.5 4 106.0 22.2 10.3
Montcalm 2 96.9 5.5 3.0 111.0 1318.9 2 571.5 336.5 9.0 36.0 47.0 187.5 8.6 5.8 9.9 0.6 9.1 49.2 308.5 127.1 158.5 9.5 2.4 4.4 0.4 0.5 108.9 18.1 11.1 65.8 92.6 5.7 19.8 12.7 10.6 0.0 1.8 3.0 0.2 0.4 10.5 71.4 41.6 7.0 2.4 0.4 2 107.0 23.3 14.7
Rian 3 87.5 8.6 5.8 468.4 3822.3 3 308.3 137.3 156.7 147.3 250.3 30.0 7.2 14.4 24.7 1.3 10.8 46.7 134.0 243.5 372.7 20.1 12.2 4.2 1.3 1.4 90.3 17.5 9.0 46.5 24.4 66.2 8.6 125.0 30.0 1.2 1.4 2.4 0.2 0.7 20.3 42.2 4.7 213.3 1.4 5.2 3 137.3 21.9 9.3
Tain 4 94.8 11.4 7.9 2170.9 6199.8 4 482.8 135.2 88.2 148.8 145.0 15.0 7.1 10.9 18.8 1.1 10.2 48.6 171.0 175.5 292.3 7.6 7.9 5.5 3.3 4.0 49.7 11.6 6.5 97.5 42.1 9.1 44.6 76.0 17.3 0.5 1.9 3.2 0.2 1.7 27.1 46.1 41.7 37.1 4.0 1.8 4 88.8 22.3 12.8
Vallee de la Marne 4 95.3 26.2 21.1 1489.1 2603.1 4 103.2 146.5 207.2 216.0 327.0 217.2 8.0 27.0 46.5 2.1 12.4 71.9 548.5 548.4 787.5 14.8 18.0 5.5 17.0 14.9 44.9 4.2 1.2 26.0 101.7 59.4 38.3 37.7 76.8 0.2 9.9 17.0 0.7 1.0 66.4 252.8 248.1 375.4 3.9 4.8 4 76.5 16.1 7.9
Vergèze 15 91.2 15.9 10.2 3946.4 6135.2 5 73.6 150.8 239.2 312.8 223.0 150.0 8.2 11.7 20.2 1.1 10.2 35.9 154.6 337.1 468.5 25.7 16.2 12.7 8.9 8.0 26.4 8.1 4.6 26.0 24.7 28.1 16.3 58.8 92.9 0.1 2.1 3.7 0.2 0.5 14.3 51.1 97.0 167.6 3.7 2.2 16 56.2 19.8 11.4
Vosne 4 99.0 14.9 11.2 1991.7 5071.7 4 73.8 92.5 199.2 242.8 391.8 146.2 7.9 23.3 40.1 2.1 10.9 82.6 693.8 368.6 996.9 15.7 21.6 1.2 8.8 8.3 24.9 3.8 2.5 32.2 9.4 28.6 18.0 46.1 45.5 0.1 3.5 6.1 0.3 0.2 17.8 223.2 37.2 262.4 11.9 3.2 4 117.2 21.2 10.3

Practice

Code
tab_summary_p <- d_rs@sam_data |>
  cbind(vegan::renyi(d_rs@otu_table, scales = c(0, 1, 2), hill = TRUE)) |>
  as_tibble() |>
  rename("Hill_0" = "0",
         "Hill_1" = "1",
         "Hill_2" = "2") |>
  group_by(practice) |>
  summarise(
    "mean" = across(
      c(
        "Myc_freq",
        "Myc_intensity_colonization",
        "Arbuscul_abundance",
        "Hill_0",
        "Hill_1",
        "Hill_2",
        "Coarse_sand",
        "Fine_sand",
        "Coarse_silt",
        "Fine_silt",
        "Total_clay",
        "Total_lime",
        "ph",
        "C",
        "SOM",
        "N",
        "C_N",
        "Cu",
        "P2O5",
        "MgO",
        "K20",
        "Na20",
        "CEC",
        "nb_spores"
      ),
      \(x) mean(x, na.rm =TRUE)
    ),
    "sd" = across(
      c(
        "Myc_freq",
        "Myc_intensity_colonization",
        "Arbuscul_abundance",
        "Hill_0",
        "Hill_1",
        "Hill_2",
        "Coarse_sand",
        "Fine_sand",
        "Coarse_silt",
        "Fine_silt",
        "Total_clay",
        "Total_lime",
        "ph",
        "C",
        "SOM",
        "N",
        "C_N",
        "Cu",
        "P2O5",
        "MgO",
        "K20",
        "Na20",
        "CEC",
        "nb_spores"
      ),
      \(x) sd(x, na.rm =TRUE)
    ),
    "n" = across(c("Myc_freq", "Hill_0", "Fine_sand"), function(x) {
      sum(!is.na(x))
    })
  ) |> 
  unnest(cols = c(mean, sd, n), names_sep = "_") |>
  mutate(across(where(is.numeric), function(x) {round(as.numeric(x), 1)})) |>
  mutate_all(~replace(., is.na(.), NA)) |>
  relocate(any_of(c("practice", "n_Myc_freq", "mean_Myc_freq", "mean_Myc_intensity_colonization", "mean_Arbuscul_abundance", "n_Hill_0", "mean_Hill_0", "mean_Hill_1", "mean_Hill_2", "n_Fine_sand")))|>
  relocate("mean_nb_spores",.after = mean_Arbuscul_abundance)|>
  relocate("sd_nb_spores",.after = mean_Arbuscul_abundance)

tab_summary_practice <- tab_summary_p |>
  gt() |>
  cols_width(
    contains("practice") ~px(150),
    starts_with("n") ~ px(30),
    where(is.numeric) ~ px(65)
  ) |> 
  cols_merge(c("mean_Myc_freq", "sd_Myc_freq"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_nb_spores", "sd_nb_spores"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Myc_intensity_colonization", "sd_Myc_intensity_colonization"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Arbuscul_abundance", "sd_Arbuscul_abundance"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>")|> 
  cols_merge(c("mean_Hill_0", "sd_Hill_0"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Hill_1", "sd_Hill_1"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Hill_2", "sd_Hill_2"), pattern = "<< {1}  >> <p style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_ph", "sd_ph"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_C", "sd_C"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_SOM", "sd_SOM"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_N", "sd_N"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_C_N", "sd_C_N"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Cu", "sd_Cu"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_P2O5", "sd_P2O5"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Coarse_sand", "sd_Coarse_sand"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Fine_sand", "sd_Fine_sand"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Coarse_silt", "sd_Coarse_silt"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |> 
  cols_merge(c("mean_Fine_silt", "sd_Fine_silt"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Total_clay", "sd_Total_clay"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Total_lime", "sd_Total_lime"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_MgO", "sd_MgO"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_K20", "sd_K20"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_Na20", "sd_Na20"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  cols_merge(c("mean_CEC", "sd_CEC"), pattern = "<< {1}  >> <p  style='font-size:0.7em'>  << ± {2}>></span> >>") |>
  
  cols_label(
    mean_Myc_freq= "F%",
    mean_Myc_intensity_colonization = "M%",
    mean_Arbuscul_abundance = "A%",
    n_Myc_freq = "n",
    mean_Hill_0 = html("H<sup>0</sup>"),
    mean_Hill_1 =  html("H<sup>1</sup>"),
    mean_Hill_2 =  html("H<sup>2</sup>"),
    n_Hill_0 = "n",
    n_Fine_sand = "n",
    mean_ph = "PH",
    mean_C = "C",
    mean_SOM ="SOM", 
    mean_N = "N",
    mean_C_N = "C/N",
    mean_Cu = "Cu",
    mean_P2O5 = "P2O5",
    mean_Coarse_sand = "Coarse sand",
    mean_Fine_sand = "Fine sand",
    mean_Coarse_silt = "Coarse silt",
    mean_Fine_silt = "Fine silt",
    mean_Total_clay = "Clay",
    mean_Total_lime = "Lime",
    mean_MgO = "MgO",
    mean_K20 = "K20",
    mean_Na20 = "Na20",
    mean_CEC = "CEC",
    mean_nb_spores = "Spores"
  )|>
  tab_spanner(
    label = "Soil characteristics",
    columns = -c(practice, n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, mean_nb_spores, n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )   |>
  tab_spanner(
    label = "Fungal colonisation",
    columns = c(n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, mean_nb_spores)
  ) |>
  tab_spanner(
    label = "Hill number",
    columns = c(n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )|>
  opt_stylize(style = 1, color = "gray") |>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_body(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))|>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_column_labels(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))

gtsave(tab_summary_practice, "tab_summary_practice.png", vwidth=2200,expand=20)


tab_summary_p |>
  gt() |>
  cols_width(
    contains("practice") ~px(150),
    starts_with("n") ~ px(30),
    where(is.numeric) ~ px(65)
  ) |> 
  cols_label(
    mean_Myc_freq= "F%",
    mean_Myc_intensity_colonization = "M%",
    mean_Arbuscul_abundance = "A%",
    n_Myc_freq = "n",
    mean_Hill_0 = html("H<sup>0</sup>"),
    mean_Hill_1 =  html("H<sup>1</sup>"),
    mean_Hill_2 =  html("H<sup>2</sup>"),
    n_Hill_0 = "n",
    n_Fine_sand = "n",
    mean_ph = "PH",
    mean_C = "C",
    mean_SOM ="SOM", 
    mean_N = "N",
    mean_C_N = "C/N",
    mean_Cu = "Cu",
    mean_P2O5 = "P2O5",
    mean_Coarse_sand = "Coarse sand",
    mean_Fine_sand = "Fine sand",
    mean_Coarse_silt = "Coarse silt",
    mean_Fine_silt = "Fine silt",
    mean_Total_clay = "Clay",
    mean_Total_lime = "Lime",
    mean_MgO = "MgO",
    mean_K20 = "K20",
    mean_Na20 = "Na20",
    mean_CEC = "CEC"
  )|>
  tab_spanner(
    label = "Soil characteristics",
    columns = -c(practice, n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance, n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )   |>
  tab_spanner(
    label = "Fungal colonisation",
    columns = c(n_Myc_freq, mean_Myc_freq, mean_Myc_intensity_colonization, mean_Arbuscul_abundance),
  ) |>
  tab_spanner(
    label = "Hill number",
    columns = c(n_Hill_0, mean_Hill_0, mean_Hill_1, mean_Hill_2),
  )|>
  opt_stylize(style = 1, color = "gray") |>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_body(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    ))|>
  tab_style(
    cell_borders(sides = c("left"), color = "gray", weight= px(1)),
    cells_column_labels(columns=c(n_Myc_freq, n_Hill_0, n_Fine_sand)
    )) 
practice
Fungal colonisation
Soil characteristics
Hill number
n F% M% A% sd_nb_spores mean_nb_spores n Coarse sand Fine sand Coarse silt Fine silt Clay Lime PH C SOM N C/N Cu P2O5 MgO K20 Na20 CEC sd_Myc_freq sd_Myc_intensity_colonization sd_Arbuscul_abundance sd_Hill_0 sd_Hill_1 sd_Hill_2 sd_Coarse_sand sd_Fine_sand sd_Coarse_silt sd_Fine_silt sd_Total_clay sd_Total_lime sd_ph sd_C sd_SOM sd_N sd_C_N sd_Cu sd_P2O5 sd_MgO sd_K20 sd_Na20 sd_CEC n H0 H1 H2
Conventional 19 87.6 10.6 6.1 4336.5 5455.3 14 252.7 149.3 157.4 198.4 242.3 136.2 7.7 13.1 22.5 1.3 10.0 44.1 217.9 235.2 334.1 15.5 11.5 11.8 6.0 3.5 107.6 15.4 5.9 174.7 107.5 99.0 103.8 112.5 142.7 0.9 5.5 9.5 0.4 1.5 29.3 141.2 78.6 199.6 8.2 5.9 19 96.6 17.9 8.9
Conversion 17 88.9 12.6 8.4 5356.3 7036.4 12 247.2 158.2 146.8 186.2 261.6 175.5 7.9 14.6 25.1 1.4 10.4 48.5 324.0 293.2 481.4 16.1 13.3 10.1 7.3 5.8 82.5 10.8 5.2 177.1 122.6 89.9 99.2 139.7 170.4 0.6 5.6 9.6 0.5 1.0 26.6 230.4 203.1 308.0 9.3 7.2 17 119.5 21.8 11.8
Organic 38 93.1 20.8 14.5 5568.5 8189.8 23 160.0 116.0 185.6 260.6 277.8 136.3 7.7 17.9 30.7 1.7 10.5 52.7 275.8 335.7 564.1 18.1 15.9 10.1 10.1 9.0 78.5 9.1 4.7 148.1 57.4 75.1 81.5 116.8 123.6 0.7 7.8 13.5 0.6 1.6 36.8 273.5 114.0 366.8 7.9 5.6 39 99.1 20.5 10.7
Code
practice_for_soil_prop <- unlist(lapply(strsplit(rownames(res_pca$tab), "--"), function(x) {
  x[5]
}))

Differential abundance analysis

Indicspecies

Terroir

Code
res_mpt_terroir <-
  multipatt(as.matrix(d_rs@otu_table),
            d_rs@sam_data$terroir,
            control = how(nperm = 9999),
            max.order = 3
  )

res_mpt_terroir_df <- res_mpt_terroir$sign
res_mpt_terroir_df$p.adj <- p.adjust(res_mpt_terroir_df$p.value, method = "BH")
res_mpt_terroir_df$OTU_names <- rownames(res_mpt_terroir_df)
res_mpt_terroir_df_signif <-
  res_mpt_terroir_df %>%
  filter(p.adj < 0.05) %>%
  tidyr::pivot_longer(cols = starts_with("s."))

tax_tab <- as.data.frame(d_rs@tax_table)
tax_tab$otu <- rownames(tax_tab)

res_mpt_terroir_df_signif_taxo <- left_join(res_mpt_terroir_df_signif,tax_tab, by = join_by("OTU_names" == "otu"))

ggplot(
  res_mpt_terroir_df_signif_taxo,
  aes(
    x = OTU_names,
    y = name,
    alpha = value,
    color = Genus_PR2
  )
) +
  geom_point(size = 6) +
  theme(axis.text.x = element_text(
    angle = 90,
    vjust = 0.5,
    hjust = 1
  ))+
  scale_alpha(range = c(0, 1))

Code
res_mpt_terroir_rg <-
  multipatt(as.matrix(rarefy_even_depth(d_rs, rngseed = 626)@otu_table),
            d_rs@sam_data$terroir,
            control = how(nperm = 9999),
            max.order = 3,
            func = "r.g"
  )
`set.seed(626)` was used to initialize repeatable random subsampling.
Please record this for your records so others can reproduce.
Try `set.seed(626); .Random.seed` for the full vector
...
1258OTUs were removed because they are no longer 
present in any sample after random subsampling
...
Code
res_mpt_terroir_rg_df <- res_mpt_terroir_rg$sign
res_mpt_terroir_rg_df$p.adj <- p.adjust(res_mpt_terroir_rg_df$p.value, method = "BH")
res_mpt_terroir_rg_df$OTU_names <- rownames(res_mpt_terroir_rg_df)
res_mpt_terroir_rg_df_signif <-
  res_mpt_terroir_rg_df %>%
  filter(p.adj < 0.05) %>%
  tidyr::pivot_longer(cols = starts_with("s."))

ggplot(
  res_mpt_terroir_rg_df_signif,
  aes(
    x = OTU_names,
    y = name,
    alpha = value,
    color = stat
  )
) +
  geom_point(size = 4) +
  theme(axis.text.x = element_text(
    angle = 90,
    vjust = 0.5,
    hjust = 1
  ))

Code
tapply(d_rs@otu_table[,"OTU_19"] , d_rs@sam_data$terroir, mean)
      Aiguesmortes           Cevennes       Côte des Bar    Côte des Blancs 
           0.00000          189.00000            0.00000           30.53333 
          Faugeres           Gigondas          Langoiran           Mercurey 
        1387.25000          479.25000          271.20000          205.75000 
          Montcalm               Rian               Tain Vallee de la Marne 
         336.00000            0.00000          706.00000           22.00000 
           Vergèze              Vosne 
         466.56250          344.25000 
Code
tapply(d_rs@otu_table[,"OTU_19"] , d_rs@sam_data$terroir, function(x) {sum(x>0)})
      Aiguesmortes           Cevennes       Côte des Bar    Côte des Blancs 
                 0                  2                  0                  3 
          Faugeres           Gigondas          Langoiran           Mercurey 
                 2                  4                  3                  2 
          Montcalm               Rian               Tain Vallee de la Marne 
                 1                  0                  3                  1 
           Vergèze              Vosne 
                 5                  2 

practice

Code
res_mpt_practice <-
  multipatt(as.matrix(d_rs@otu_table),
            d_rs@sam_data$practice,
            control = how(nperm = 9999),
            max.order = 3
  )

res_mpt_practice_df <- res_mpt_practice$sign
res_mpt_practice_df$p.adj <- p.adjust(res_mpt_practice_df$p.value, method = "BH")
res_mpt_practice_df$OTU_names <- rownames(res_mpt_practice_df)
res_mpt_practice_df_signif <-
  res_mpt_practice_df %>%
  filter(p.adj < 0.05) %>%
  tidyr::pivot_longer(cols = starts_with("s."))

ggplot(
  res_mpt_practice_df_signif,
  aes(
    x = OTU_names,
    y = name,
    size = 2 * value,
    color = stat
  )
) +
  geom_point() +
  theme(axis.text.x = element_text(
    angle = 90,
    vjust = 0.5,
    hjust = 1
  ))

Code
res_mpt_practice_rg <-
  multipatt(as.matrix(d_rs@otu_table),
            d_rs@sam_data$practice,
            control = how(nperm = 9999),
            max.order = 3,
            func = "r.g"
  )

res_mpt_practice_rg_df <- res_mpt_practice_rg$sign
res_mpt_practice_rg_df$p.adj <- p.adjust(res_mpt_practice_rg_df$p.value, method = "BH")
res_mpt_practice_rg_df$OTU_names <- rownames(res_mpt_practice_rg_df)
res_mpt_practice_rg_df_signif <-
  res_mpt_practice_rg_df %>%
  filter(p.adj < 0.05) %>%
  tidyr::pivot_longer(cols = starts_with("s."))

ggplot(
  res_mpt_practice_rg_df_signif,
  aes(
    x = OTU_names,
    y = name,
    size = value,
    color = stat
  )
) +
  geom_point() +
  theme(axis.text.x = element_text(
    angle = 90,
    vjust = 0.5,
    hjust = 1
  ))

Session information

Code
sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: x86_64-pc-linux-gnu
Running under: Debian GNU/Linux 12 (bookworm)

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.11.0 
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.11.0

locale:
 [1] LC_CTYPE=fr_FR.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=fr_FR.UTF-8        LC_COLLATE=fr_FR.UTF-8    
 [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=fr_FR.UTF-8   
 [7] LC_PAPER=fr_FR.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C       

time zone: Europe/Paris
tzcode source: system (glibc)

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] geodist_0.1.0               conflicted_1.2.0           
 [3] gt_0.11.1                   lubridate_1.9.3            
 [5] forcats_1.0.0               stringr_1.5.1              
 [7] readr_2.1.5                 tidyr_1.3.1                
 [9] tibble_3.2.1                tidyverse_2.0.0            
[11] ComplexUpset_1.3.3          microbiomeMarker_1.10.0    
[13] formattable_0.2.1           kableExtra_1.4.0           
[15] adegraphics_1.0-21          ade4_1.7-22                
[17] adespatial_0.3-24           sf_1.0-17                  
[19] indicspecies_1.7.15         DESeq2_1.44.0              
[21] SummarizedExperiment_1.34.0 Biobase_2.64.0             
[23] MatrixGenerics_1.16.0       matrixStats_1.4.1          
[25] GenomicRanges_1.56.1        GenomeInfoDb_1.40.1        
[27] IRanges_2.38.1              S4Vectors_0.42.1           
[29] BiocGenerics_0.50.0         factoextra_1.0.7           
[31] FactoMineR_2.11             vegan_2.6-8                
[33] lattice_0.22-6              permute_0.9-7              
[35] patchwork_1.3.0             knitr_1.48                 
[37] DT_0.33                     metacoder_0.3.7            
[39] MiscMetabar_0.10.1          purrr_1.0.2                
[41] dplyr_1.1.4                 dada2_1.32.0               
[43] Rcpp_1.0.13                 ggplot2_3.5.1              
[45] phyloseq_1.48.0             targets_1.8.0              

loaded via a namespace (and not attached):
  [1] igraph_2.0.3                    mia_1.12.0                     
  [3] Formula_1.2-5                   rematch2_2.1.2                 
  [5] scater_1.32.1                   zlibbioc_1.50.0                
  [7] BWStest_0.2.3                   tidyselect_1.2.1               
  [9] bit_4.5.0                       doParallel_1.0.17              
 [11] clue_0.3-65                     rjson_0.2.23                   
 [13] rngtools_1.5.2                  S4Arrays_1.4.1                 
 [15] parallel_4.4.1                  RNeXML_2.4.11                  
 [17] correlation_0.8.5               png_0.1-8                      
 [19] cli_3.6.3                       ggplotify_0.1.2                
 [21] CVXR_1.0-14                     bayestestR_0.14.0              
 [23] multtest_2.60.0                 MultiAssayExperiment_1.30.3    
 [25] bluster_1.14.0                  BiocNeighbors_1.22.0           
 [27] TreeSummarizedExperiment_2.12.0 adegenet_2.1.10                
 [29] mime_0.12                       evaluate_1.0.0                 
 [31] tidytree_0.4.6                  ComplexHeatmap_2.20.0          
 [33] ggh4x_0.2.8                     stringi_1.8.4                  
 [35] PMCMRplus_1.9.12                backports_1.5.0                
 [37] lmerTest_3.1-3                  gsl_2.1-8                      
 [39] XML_3.99-0.17                   Exact_3.3                      
 [41] ggVennDiagram_1.5.2             httpuv_1.6.15                  
 [43] Wrench_1.22.0                   paletteer_1.6.0                
 [45] magrittr_2.0.3                  leaps_3.2                      
 [47] splines_4.4.1                   RApiSerialize_0.1.4            
 [49] jpeg_0.1-10                     doRNG_1.8.6                    
 [51] wk_0.9.3                        rootSolve_1.8.2.4              
 [53] ggbeeswarm_0.7.2                DBI_1.2.3                      
 [55] withr_3.0.1                     class_7.3-22                   
 [57] systemfonts_1.1.0               SuppDists_1.1-9.8              
 [59] htmlwidgets_1.6.4               fs_1.6.4                       
 [61] SingleCellExperiment_1.26.0     ggrepel_0.9.6                  
 [63] labeling_0.4.3                  SparseArray_1.4.8              
 [65] cellranger_1.1.0                flashClust_1.01-2              
 [67] rncl_0.8.7                      see_0.9.0                      
 [69] lmom_3.2                        effectsize_0.8.9               
 [71] zoo_1.8-12                      XVector_0.44.0                 
 [73] UCSC.utils_1.0.0                timechange_0.3.0               
 [75] decontam_1.24.0                 secretbase_1.0.3               
 [77] foreach_1.5.2                   fansi_1.0.6                    
 [79] caTools_1.18.3                  grid_4.4.1                     
 [81] data.table_1.16.0               ggtree_3.12.0                  
 [83] rhdf5_2.48.0                    pwalign_1.0.0                  
 [85] irlba_2.3.5.1                   gridGraphics_0.5-1             
 [87] DescTools_0.99.57               base64url_1.4                  
 [89] lazyeval_0.2.2                  yaml_2.3.10                    
 [91] survival_3.7-0                  crayon_1.5.3                   
 [93] RColorBrewer_1.1-3              later_1.3.2                    
 [95] codetools_0.2-20                base64enc_0.1-3                
 [97] GlobalOptions_0.1.2             shape_1.4.6.1                  
 [99] limma_3.60.6                    estimability_1.5.1             
[101] Rsamtools_2.20.0                ggside_0.3.1                   
[103] foreign_0.8-87                  pkgconfig_2.0.3                
[105] ggpubr_0.6.0                    xml2_1.3.6                     
[107] GenomicAlignments_1.40.0        aplot_0.2.3                    
[109] scatterplot3d_0.3-44            ape_5.8                        
[111] viridisLite_0.4.2               xtable_1.8-4                   
[113] interp_1.1-6                    car_3.1-3                      
[115] highr_0.11                      hwriter_1.3.2.1                
[117] plyr_1.8.9                      httr_1.4.7                     
[119] rbibutils_2.3                   tools_4.4.1                    
[121] broom_1.0.7                     beeswarm_0.4.0                 
[123] htmlTable_2.4.3                 checkmate_2.3.2                
[125] nlme_3.1-166                    PCAtest_0.0.1                  
[127] lme4_1.1-35.5                   digest_0.6.37                  
[129] numDeriv_2016.8-1.1             adephylo_1.1-16                
[131] Matrix_1.7-0                    farver_2.1.2                   
[133] tzdb_0.4.0                      reshape2_1.4.4                 
[135] yulab.utils_0.1.7               viridis_0.6.5                  
[137] DirichletMultinomial_1.46.0     rpart_4.1.23                   
[139] glue_1.8.0                      cachem_1.1.0                   
[141] Hmisc_5.1-3                     generics_0.1.3                 
[143] Biostrings_2.72.1               classInt_0.4-10                
[145] mvtnorm_1.3-1                   spdep_1.3-6                    
[147] metagenomeSeq_1.46.0            webshot2_0.1.1                 
[149] statmod_1.5.0                   biomformat_1.32.0              
[151] ScaledMatrix_1.12.0             carData_3.0-5                  
[153] minqa_1.2.8                     pbapply_1.7-2                  
[155] ANCOMBC_2.6.0                   glmnet_4.1-8                   
[157] utf8_1.2.4                      seqinr_4.2-36                  
[159] gtools_3.9.5                    readxl_1.4.3                   
[161] datawizard_0.13.0               ggsignif_0.6.4                 
[163] gridExtra_2.3                   shiny_1.9.1                    
[165] GenomeInfoDbData_1.2.12         energy_1.7-12                  
[167] rhdf5filters_1.16.0             parameters_0.22.2              
[169] memoise_2.0.1                   rmarkdown_2.28                 
[171] scales_1.3.0                    gld_2.6.6                      
[173] chromote_0.3.1                  svglite_2.1.3                  
[175] phylobase_0.8.12                stringfish_0.16.0              
[177] rstudioapi_0.16.0               cluster_2.1.6                  
[179] hms_1.1.3                       ggcorrplot_0.1.4.1             
[181] munsell_0.5.1                   colorspace_2.1-1               
[183] rlang_1.1.4                     s2_1.1.7                       
[185] DelayedMatrixStats_1.26.0       sparseMatrixStats_1.16.0       
[187] circlize_0.4.16                 scuttle_1.14.0                 
[189] mgcv_1.9-1                      xfun_0.48                      
[191] multcompView_0.1-10             coda_0.19-4.1                  
[193] e1071_1.7-16                    TH.data_1.1-2                  
[195] plotROC_2.3.1                   iterators_1.0.14               
[197] emmeans_1.10.4                  abind_1.4-8                    
[199] treeio_1.28.0                   gmp_0.7-5                      
[201] Rhdf5lib_1.26.0                 DECIPHER_3.0.0                 
[203] bitops_1.0-9                    Rdpack_2.6.1                   
[205] ps_1.8.0                        promises_1.3.0                 
[207] sandwich_3.1-1                  DelayedArray_0.30.1            
[209] proxy_0.4-27                    Rmpfr_0.9-5                    
[211] compiler_4.4.1                  statsExpressions_1.6.0         
[213] prettyunits_1.2.0               boot_1.3-31                    
[215] beachmat_2.20.0                 BiocSingular_1.20.0            
[217] kSamples_1.2-10                 qs_0.27.2                      
[219] units_0.8-5                     MASS_7.3-61                    
[221] progress_1.2.3                  uuid_1.2-1                     
[223] BiocParallel_1.38.0             insight_0.20.5                 
[225] R6_2.5.1                        rstatix_0.7.2                  
[227] fastmap_1.2.0                   multcomp_1.4-26                
[229] vipor_0.4.7                     websocket_1.4.2                
[231] rsvd_1.0.5                      ggstatsplot_0.12.4             
[233] nnet_7.3-19                     gtable_0.3.5                   
[235] KernSmooth_2.23-24              latticeExtra_0.6-30            
[237] deldir_2.0-4                    htmltools_0.5.8.1              
[239] RcppParallel_5.1.9              bit64_4.5.2                    
[241] lifecycle_1.0.4                 processx_3.8.4                 
[243] spData_2.3.3                    nloptr_2.1.1                   
[245] callr_3.7.6                     sass_0.4.9                     
[247] vctrs_0.6.5                     zeallot_0.1.0                  
[249] ggfun_0.1.6                     sp_2.1-4                       
[251] pillar_1.9.0                    prismatic_1.1.2                
[253] gplots_3.2.0                    ShortRead_1.62.0               
[255] locfit_1.5-9.10                 jsonlite_1.8.9                 
[257] expm_1.0-0                      GetoptLong_1.0.5